Git Product home page Git Product logo

discord-clone2's Introduction

Discord Clone Logo

Discord Clone

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.

Technologies

Backend

  • Express.js for the API
  • Socket.io for real-time communication
  • MongoDB (using Mongoose) for the database
  • Nodemailer for sending emails
  • JWT for authentication

Frontend

  • React.js for the UI
  • TailwindCSS for styling
  • Socket.io-client for real-time communication

Future Technologies:

  • WebRTC for video and audio calls
  • Firebase for WebRTC signaling
  • React Native for a mobile app (possibly)

Features

  • 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

How to Run

  1. Clone the repository
  2. Run npm install in both the client and server directories

For the Server Directory:

  1. 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
  1. Run node . in the server directory

For the Client Directory:

  1. 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)
  1. Run npm run dev in the client directory
  2. Visit http://localhost:5173

Important Notes

  • 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.

License

This project is licensed under the MIT License.

discord-clone2's People

Contributors

real-kijmoshi 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.