Built with the tools and technologies:
Sync is a real-time messaging chat application designed for developers. It offers a seamless and responsive user experience with features like real-time messaging, friend requests, and Google authentication. The application is built using modern technologies such as TypeScript, Tailwind CSS, and Next.js, ensuring high performance and scalability.
-
Realtime messaging
-
Adding friends and sending friend requests via email
-
Performant database queries with Redis
-
Responsive UI with complete mobile responsiveness built with TailwindCSS
-
Protection of sensitive routes using middleware
-
Google authentication using OAuth2.0
-
Built with TypeScript, Tailwind CSS
-
Icons from Lucide
-
Class merging with tailwind-merge
-
Conditional classes with clsx
-
Variants with class-variance-authority
- Frontend: React, Next.js, Tailwind CSS
- Backend: Node.js, Next.js API routes
- Database: Redis (Upstash)
- Authentication: NextAuth.js with Google OAuth2.0
- Real-time Communication: Pusher
- Icons: Lucide
- Utilities: clsx, tailwind-merge, class-variance-authority
-
Clone the Repository:
git clone https://github.com/KrishDave1/Sync.git cd Sync
-
Install Dependencies:
npm install
-
Run the Development Server:
npm run dev
The application will be available at
http://localhost:3000
. -
Build and Start for Production:
npm run build npm start
-
Build the Docker Image (if needed):
docker build -t sync .
-
Run the Docker Container:
docker run -p 3000:3000 --name sync-container sync
-
Stop the Docker Container:
docker stop sync-container
-
Remove the Docker Container (optional):
docker rm sync-container
-
Pull the Image from Docker Hub:
docker pull krishd01/sync
-
Run the Container:
docker run -p 3000:3000 --name sync-container krishd01/sync
-
Stop and Remove the Container:
docker stop sync-container docker rm sync-container
- Sign In: Use Google authentication to sign in.
- Add Friends: Send friend requests via email.
- Chat: Start real-time messaging with your friends.
- Responsive Design: Use the application on any device with a responsive UI.
Contributions are welcome! Please fork the repository and create a pull request with your changes. Ensure that your code follows the project's coding standards and includes appropriate tests.
If you have any feedback or questions, please reach out to me at krish.dave@iiitb.ac.in.
This project is licensed under the MIT License.