This project is a clone of the popular communication platform Discord. It aims to replicate the core features and user interface of Discord.
- Server and channels creation: Create servers and channels and also invite users to your server using the invite link.
- Real-time Chat: Engage in real-time conversations with other users through voice, video, and text channels.
- User Authentication: Securely sign up and log in to your account using clerk-auth.
- User Roles: A user can be an admin, a moderator, or a simple user.
- Voice Channels: Create and join voice channels for voice communication.
- Video Channels: Create and join video channels for video communication.
- User Profiles: Customize your profile and avatar.
- File Sharing: Share files with other users.
You can explore many more features by visiting the web app.
Follow these steps to set up the project locally:
-
Clone the repository:
- git clone https://github.com/Aditya61101/teams-chat-app.git
- cd teams-chat-app
-
Install the dependencies: npm install
-
Configure the environment variables by creating a .env file:
- NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="your_key"
- CLERK_SECRET_KEY="your_key"
- NEXT_PUBLIC_CLERK_SIGN_IN_URL=/login
- NEXT_PUBLIC_CLERK_SIGN_UP_URL=/register
- NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
- NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
- DATABASE_URL="mongodb_atlas_url"
- UPLOADTHING_SECRET="your_key"
- UPLOADTHING_APP_ID="your_key"
- LIVEKIT_API_KEY ="your_key"
- LIVEKIT_API_SECRET ="your_key"
- NEXT_PUBLIC_LIVEKIT_URL ="your_key"
-
Run the app locally: npm run dev
Contributions are always welcome!
There are no strict guidelines for the contributions, but one should adhere to some basic rules of contributions.
If you find any issues or want to add features, create a branch with your work and make a pull request to the main branch. If we find the feature usable we will merge it into our main branch.