Skip to content

AdityaBhojane/Discord-Backend

Repository files navigation

Discord Backend

A full-featured Discord clone built using the MERN stack (MongoDB, Express.js, React, Node.js) with additional features like server creation, real-time messaging, file uploads via AWS S3, and video calling using WebRTC.

Table of Contents

Features

  • Server Creation: Create and manage multiple servers.
  • Real-time Messaging: Chat in real-time with other users.
  • File Uploads: Upload and share files using AWS S3.
  • Video Calling: Make video calls using WebRTC.

Screenshots

image upload signin create server home page video calling create channels realtime chat options user invite

Installation

  1. Clone the repository:

    git clone https://github.com/AdityaBhojane/Discord-Backend.git
    cd Discord-Backend
    npm install
    
  2. Create a .env file in the root directory and add the following environment variables:

     MONGO_URL = 
     JWT_SECRET = 
     REDIS_URL = 
     REDIS_PORT =
     MAIL_ID = 
     MAIL_APP_PASSWORD =
     AWS_REGION=
     AWS_ACCESS_KEY_ID=
     AWS_ACCESS_SECRET_ID=
     AWS_BUCKET_NAME=
    
    
  3. Start the backend server:

    cd Discord-Backend
    npm start
    
     // Same steps for frontend and 
     cd Discord-Frontend
     npm start
    
    

Usage

Open your browser and navigate to http://localhost:3000.

Create an account or log in with existing credentials.

Start creating servers, chatting, uploading files, and making video calls.

Technologies Used

Backend: Node.js, Express.js, MongoDB, AWS Real-time Communication: Socket.IO etc

Future Improvements

  • Enhanced Video Calling: Add support for group video calls.and pubs sub model (advanced)
  • Push Notifications: Implement push notifications for new messages and calls.

Contributing

Contributions are welcome! Please fork the repository and create a pull request with your changes.

Contact

Name: Aditya Bhojane Email: [email protected] GitHub: AdityaBhojane

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published