π Welcome to the Full Stack Discord Clone with Next.js, React, Socket.io, Prisma, TailwindCSS and MySQL! π
π¬ 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. ππ
Node version 18.x.x
git clone https://github.com/PrajapatiShefali/DISCORD.gitnpm iNEXT_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=Add MySQL Database (I used PlanetScale)
npx prisma generate
npx prisma db push
npm run devRunning commands with npm npm run [command]
| command | description |
|---|---|
dev |
Starts a development instance of the app |