Tired of searching for a good Discord clone on GitHub and finding none? So was I! That's why I decided to create my own.
- Express.js for the API
- Socket.io for real-time communication
- MongoDB (using Mongoose) for the database
- Nodemailer for sending emails
- JWT for authentication
- React.js for the UI
- TailwindCSS for styling
- Socket.io-client for real-time communication
- WebRTC for video and audio calls
- Firebase for WebRTC signaling
- React Native for a mobile app (possibly)
- Messages
- Joining guilds
- Message context menu
- Message attachments
- Direct messages
- Friend requests
- Friend list
- Groups
- User profiles (with more customization)
- Permissions
- Guild management
- User settings
- Voice channels
- Video channels
- Notifications
- Clone the repository
- Run
npm install
in both the client and server directories
- Create a
.env
file in the server directory and add the following:
JWT=secret
URL=http://localhost:3000
MONGO_URI=your_mongo_uri
EMAIL=your_email
EMAIL_PASSWORD=your_email_password
- Run
node .
in the server directory
- Create a
.env
file in the client directory and add the following:
VITE_API_URL=http://localhost:3000/api/v1
VITE_CDN_URL=http://localhost:3000/cdn
VITE_GATEWAY_URL=http://localhost:3000/gateway
(i was too to implement only one api url)
- Run
npm run dev
in the client directory - Visit http://localhost:5173
- This project is still in development and not ready for production.
- This project is not affiliated with Discord in any way.
- This project is not intended for commercial use.
This project is licensed under the MIT License.