Giter VIP home page Giter VIP logo

discord-clone's Introduction

Discord Clone

This project is a clone of Discord built using modern web technologies. It features real-time messaging, audio and video calling, and server-based communities.

Tech Stack

  • Next.js: React framework for server-side rendering and static site generation.
  • shadcn/ui: Component library for building user interfaces.
  • Prisma: ORM for type-safe database access.
  • NeonDB: PostgreSQL database hosted on Neon.
  • Clerk: Authentication and user management.
  • Pusher: Real-time messaging.
  • LiveKit: Audio and video calling.

Features

  • Real-time messaging
  • Audio and video calling
  • Server-based communities
  • Authentication and user management

Getting Started

Prerequisites

  • Node.js

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/discord-clone.git
    cd discord-clone
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    Signup to clerk, pusher, uploadthing and livekit and create a .env file in the root directory and add the following:

    npm install
    # clerk auth
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<your-clerk-public-key>
    CLERK_SECRET_KEY=<your-clerk-secret-key>
    NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
    NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
    
    DATABASE_URL=<your-database-url>
    
    # uploadthing
    UPLOADTHING_SECRET=<your-uploadting-secret>
    UPLOADTHING_APP_ID=<your-uploadthing-appid>
    
    # pusher
    PUSHER_APP_ID=<your-pusher-app-id>
    PUSHER_SECRET=<your-pusher-secret>
    NEXT_PUBLIC_PUSHER_KEY=<your-pusher-public-key>
    NEXT_PUBLIC_PUSHER_CLUSTER=<your-pusher-cluster>
    
    # livekit
    NEXT_PUBLIC_LIVEKIT_URL=<your-livekit-url>
    LIVEKIT_API_KEY=<your-livekit-api-key>
    LIVEKIT_API_SECRET=<your-livekit-api-secret>
  4. Run database migrations:

    npx prisma migrate deploy
  5. Start the development server:

    npm run dev
  6. Open your browser and navigate to http://localhost:3000

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

discord-clone's People

Contributors

oggy107 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.