Giter Site home page Giter Site logo

dhruvpatel369 / discord-clone Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yeasir0032/discord-clone

0.0 0.0 0.0 206 KB

A Discord clone built using Next.js, Tailwind CSS, and LiveKit, providing users with real-time text, voice, and video communication features.

Home Page: https://discord-a.up.railway.app/

License: MIT License

JavaScript 1.25% TypeScript 97.93% CSS 0.82%

discord-clone's Introduction

Discord Clone

Welcome to the Discord Clone built with Next.js! This project aims to replicate the functionality and design of the popular communication platform Discord using the Next.js framework.

Demo photo

-> Key Features <-

  • Real-time Chatting: Enjoy seamless real-time messaging with friends and communities. Send text messages instantly and engage in conversations effortlessly.
  • Voice and Video Calls: Connect with friends through high-quality voice and video calls. Experience crystal-clear audio and video communication, whether you're chatting one-on-one or in a group.
  • Server and Channel Management: Create and manage servers and channels to organize your communities and conversations efficiently. Customize permissions and roles to maintain control over your server environment.
  • Direct messages: Conversate with any members of the server directly. You can give a video call or an audio call directly.
  • Rich Media Support: Share images, videos, GIFs, and other media files within your conversations. Express yourself with a wide range of multimedia options.
  • Emojis and Reactions: Spruce up your conversations with emojis and reactions. React to messages to express your feelings or simply add some fun to the chat.

💻 Tech Stacks

Frontend:

Next JS React TailwindCSS ClerkJS LiveKit UploadThing Emoji-mart Zustand Zod Radix UI Lucide react Axios React Query TypeScript

Backend :

Node JS Socket.IO Supabase

Contribution

We welcome contributions from the community! Before contributing, please review our Contribution Guidelines to get started.

Local development

Fork the repo

To contribute to this Discord-Clone, you must first fork the Discord-Clone repo.

Clone the repo

  1. Clone your GitHub forked repo:

    git clone https://github.com/<github_username>/Discord-Clone
  2. Go to the Discord-Clone directory:

    cd discord-clone

Install dependencies

  1. Install the dependencies in the root of the repo:

    npm install # install dependencies
  2. Copy the example .env.local.example to .env.local

    .env.local.example

Setup Environment variables

  • Create a .env.local in your root directory
  • Visit Supabase website to create a project, then get its base URL and base anon key.
  • Visit UploadThing website to create a new app and get its app ID and secret key.
  • Visit ClerkJS website to create a new app and get its public key and secret key.
  • Visit LiveKit website to create a new app and get its public key, URL, and secret key.
  • Paste the credentials in the respective positions.
  • Keep the rest as it is.

Testing

To start a development server

npm run dev # start all the applications

Visit http://localhost:3000/

Deployment

For deployment use services like Railway , Digital Ocean, AWS, Google Cloud, Azure, etc.

Documentation

App Routes

  • auth -> For authentication using ClerkJs.
  • invite -> For inviting to existing servers.
  • main -> contains routes for server, channel, and conversations pages.
    • /servers/serverId -> server route
      • /channels/channelId -> channel specific route
    • /conversations/memberId -> member of server private conversation.
  • setup -> To create an initial server create a modal.
  • api -> For api handling

Our Contributors ❤️

Thank you for contributing to our repository.😃

Contributors

Show some ❤️ by starring this awesome repository!

discord-clone's People

Contributors

yeasir0032 avatar codebreaker3008 avatar alishasingh06 avatar suhanipaliwal avatar meayushsharma avatar 01sriharsha avatar devank-sachdeva avatar kanishkchhajed avatar latish705 avatar passionatelytoooadorable avatar pradnyagaitonde avatar raghavawasthi24 avatar sanmarg avatar sibam-paul avatar vaishalic288 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.