Code Monkey home page Code Monkey logo

discord-clone's Introduction

Discord Clone

This project is a Discord clone developed using Next.js, React.js, and TypeScript. It features real-time messaging, file attachments, member management, voice and video calls, server creation, and customization, among other functionalities.

MasterHead

Technologies Used

  • Frontend: Next.js, React.js, TypeScript
  • UI Libraries: ShadCN UI, Tailwind CSS
  • Login Authentication: Clerk Authentication
  • Image/PDF Upload: Uploadthing
  • ORM: Prisma (with support for MySQL, PostgreSQL, etc.)
  • Database: MySQL (using Aiven Cloud)
  • Web Deployment: Railway
  • Real-time Messaging: Socket.io
  • Audio/Video Calls: Livekit

Key Features

  • Real-time messaging using Socket.io
  • Send attachments as messages using UploadThing
  • Delete & edit messages in real-time for all users
  • Create text, audio, and video call channels
  • 1:1 conversation between members
  • 1:1 video calls between members
  • Member management (Kick, Role change Guest/Moderator)
  • Unique invite link generation & full working invite system
  • Infinite loading for messages in batches of 10 (@tanstack/query)
  • Server creation and customization
  • Beautiful UI using Tailwind CSS and ShadcnUI
  • Full responsivity and mobile UI
  • Light/Dark mode
  • Websocket fallback: Polling with alerts
  • ORM using Prisma
  • MySQL database using Aiven Cloud
  • Authentication with Clerk

Project Details

  • Operating System: Ubuntu (Linux)
  • Cloud Platform: Initially developed using Microsoft Azure Cloud, then moved the deployment to the Aiven MySQL server.
  • Duration: 2 - 3 months
  • Contribution: Individual (100%)

Demo Image

Navigate to Output Images to view the webpage images

Deployed Website Link

https://discord-clone-production-2131.up.railway.app

Learning Experience

This project provided me with valuable knowledge on developing higher-level applications and understanding their workings. I gained expertise in style and UI development and mastered Git and GitHub commits for version control.

Getting Started

  1. Clone the repository:

    git clone https://github.com/KAVIRAJec/Discord-clone.git
  2. Navigate to the project directory and install dependencies:

    cd Discord-clone
    npm install
  3. Update the environment variables with your credentials.

  4. Start the development server:

    npm run dev
  5. Open http://localhost:3000 with your browser to see the result.

Feel free to explore the project and contribute to its development!

MIT License

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.