This project is a Discord clone app, a popular communication platform designed for communities to connect via voice, video, and text. This app aims to provide a learning experience in full-stack development and real-time communication systems.
Technologies and services used:
- Next.js - React framework for server-rendered applications.
- React - JavaScript library for building user interfaces.
- Socket.io - Real-time bidirectional event-based communication.
- Prisma - Modern database toolkit for Node.js and TypeScript.
- Tailwind CSS - Utility-first CSS framework for rapid UI development.
- MySQL - Relational database management system.
- Livekit - Infrastructure for real-time video and audio communication.
- UploadThingy - File uploading service.
- Clerk - Authentication and user management solution.
- Xata - Real-time data collaboration platform.
This project aims to replicate the core functionality of Discord while showcasing integration with modern development tools and services.
-
Real-time Messaging: Users can send and receive messages instantly, supporting text-based communication.
-
User Roles: Assign roles to users with different permissions (admin, moderator, member,..e.g).
-
Direct Messaging: Enable private one-on-one messaging between users.
-
Server Channels: Organize communication into channels within servers (e.g., text channels, voice channels,video channels).
-
User Authentication: Secure user authentication and authorization using services like Clerk.
-
File Sharing: Allow users to share files within channels or via direct messages, integrated with UploadThingy.
-
Custom Emojis: Support for custom emojis and reactions in messages.
-
Search Functionality: Search channels ,members for quick access to information.
To get started you need Clone App locally, follow these steps:
- Make sure you have installed Node.js
git clone https://github.com/fawez9/Connectify-app.git
cd Connectify-app
npm i
- Go to Clerk , Uploadthing , Xata , Livekit and connect into each website create your app there and copy paste the Api Keys if there's any problem you can always check Docs for more understanding.
- You should set up Prisma by using these commands :
npx prisma generate
npx prisma db push
- To Run Project just enter:
npm run dev
You'll find your application running on PORT:"3000" by default
-
Feel free to contribute to this project. Fork it, submit pull requests, and report issues.
-
Adjust the instructions based on any specific configurations, additional steps, or dependencies relevant to your project setup. This outline provides a structured approach to guide users through installing and running your Discord clone app locally.