Skip to content

The Fullstack Zoomer Chat App is a modern, feature-rich chat application built with the latest web technologies. Provide a seamless and engaging user experience. ๐Ÿ’ฌ๐Ÿค–Link

Notifications You must be signed in to change notification settings

aarsh21/chat-app

Repository files navigation

Fullstack Zoomer Chat App: Next.js 13, React, LiveKit, Prisma, Tailwind, MySQL | Full Course 2023

This repository contains the source code for a full-stack Zoomer-friendly chat application built using Next.js 13, React, LiveKit, Prisma, Tailwind, and MySQL. ๐Ÿ’ป๐Ÿค–

Features ๐Ÿš€

  • Real-time Messaging: Users can send and receive messages in real-time using LiveKit. ๐Ÿ’ฌ
  • Attachment Uploads: Users can send attachments (images, documents, etc.) as messages using UploadThing. ๐Ÿ“
  • Message Editing and Deletion: Users can edit and delete their own messages in real-time, and the changes are reflected for all other users. โœ๏ธ๐Ÿ—‘๏ธ
  • Text, Audio, and Video Channels: Users can create and join text, audio, and video call channels. ๐ŸŽฅ๐ŸŽ™๏ธ
  • 1:1 Conversations: Users can initiate private 1:1 conversations with other members. ๐Ÿ‘ฅ
  • 1:1 Video Calls: Users can make 1:1 video calls with other members. ๐Ÿ“ฝ๏ธ
  • Member Management: Administrators can kick members and change their roles (Guest/Moderator). ๐Ÿšซ๐Ÿ‘‘
  • Invite System: Users can generate unique invite links and use them to invite new members. ๐Ÿ”—๐Ÿค
  • Infinite Message Loading: The app uses tanstack/query to load messages in batches of 10 for an infinite scrolling experience. ๐Ÿ”„
  • Server Creation and Customization: Users can create and customize their own servers. ๐Ÿข๐Ÿ› ๏ธ
  • Beautiful UI: The app uses Tailwind CSS and Shadcn UI components for a modern and responsive user interface. ๐ŸŽจ
  • Light/Dark Mode: The app supports light and dark mode. ๐ŸŒž๐ŸŒ›
  • ORM with Prisma: The app uses Prisma as the ORM for interacting with the MySQL database. ๐Ÿ—ƒ๏ธ
  • Authentication with Clerk: The app uses Clerk for user authentication. ๐Ÿ”‘

Prerequisites ๐Ÿ”

  • Node.js version 18.x.x

Cloning the Repository ๐Ÿ“

git clone https://github.com/AntonioErdeljac/next13-discord-clone.git

Installation ๐Ÿ› ๏ธ

  1. Install the required packages:

    npm i
  2. Set up the .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=
  3. Set up Prisma:

    • Add a Postgres database (I used NeonDB)
    • Run the following commands:
      npx prisma generate
      npx prisma db push
  4. Start the app:

    npm run dev

Available Commands ๐Ÿค–

Running commands with npm run [command]:

Command Description
dev Starts a development instance of the app

Contributions ๐Ÿค

Contributions to this project are welcome. If you find any issues or have suggestions for improvements, please feel free to submit a pull request or open an issue. ๐Ÿ™

About

The Fullstack Zoomer Chat App is a modern, feature-rich chat application built with the latest web technologies. Provide a seamless and engaging user experience. ๐Ÿ’ฌ๐Ÿค–Link

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published