Skip to content

Latest commit

Β 

History

History
105 lines (60 loc) Β· 2.81 KB

File metadata and controls

105 lines (60 loc) Β· 2.81 KB

πŸš€ Welcome to the Full Stack Discord Clone with Next.js, React, Socket.io, Prisma, TailwindCSS and MySQL! 🌟

πŸ“¨ Key Features:

πŸ“¬ Real-time Messaging: Experience the thrill of real-time communication using Socket.io. πŸ“£πŸ“±

πŸ“Ž Attachments Galore: Share files with ease! Got you covered with UploadThing. πŸ“‚πŸ“€

✏️ Edit & Delete on the Fly: Make mistakes disappear in real-time with message editing and deletion feature! ✏️❌

πŸ“ž Voice & Video Calls: Connect like never before with text, audio, and video call channels. πŸ“žπŸŽ₯

πŸ‘₯ 1:1 Conversations: Dive into intimate conversations with fellow members. πŸ‘₯πŸ’¬

πŸŽ™οΈ Video Calls: Take it a step further with one-on-one video calls between members. πŸŽ₯🀝

πŸ›‘οΈ Member Management: Flex admin muscles with options to kick members and change their roles. πŸ¦Έβ€β™‚οΈπŸš«

πŸ’Œ Invite Magic: Generate unique invite links and explore the fully functional invite system. πŸ’Œβœ‰οΈ

πŸ“œ Infinite Loading: Seamlessly browse through messages with batched loading feature (thanks to tanstack/query)! πŸ”„πŸ“œ

🏰 Server Customization: Build and personalize own server with ease. πŸŒ†πŸ–ŒοΈ

🎨 Sleek UI: Designed it up beautifully with TailwindCSS and ShadcnUI. πŸŽ‰πŸ–ΌοΈ

πŸ“± Responsive & Mobile-Friendly: Access from anywhere, anytime, with full responsivity and a mobile-friendly UI. πŸ“±πŸ’Ό

πŸŒ“ Light/Dark Mode: Choose your vibe with light and dark mode options. 🌞🌚

πŸ”„ Websocket Fallback: Never lose connection – Got you covered with polling and alerts! πŸ”„πŸš¨

πŸ’Ό ORM Power: Prisma keeps things organized and efficient. πŸ’ΌπŸ“Š

πŸ—„οΈ Rock-Solid Database: Relies on MySQL from Planetscale to ensure the data is in safe hands. πŸ—„οΈπŸŒ 

πŸ” Secure Authentication: Rest easy knowing that information is protected with Clerk. πŸ”’πŸ”

Let's build the future of communication together! πŸŒπŸš€

Prerequisites

Node version 18.x.x

Cloning the repository

git clone https://github.com/PrajapatiShefali/DISCORD.git

Install packages

npm i

Setup .env file

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_SIGN_UP_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=


DATABASE_URL=

UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=

LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
NEXT_PUBLIC_LIVEKIT_URL=

Setup Prisma

Add MySQL Database (I used PlanetScale)

npx prisma generate
npx prisma db push

Start the app

npm run dev

Available commands

Running commands with npm npm run [command]

command description
dev Starts a development instance of the app