ConvoSync is a modern real-time chat application that allows users to communicate instantly with each other. Built with a robust tech stack including React, Node.js, Express, MongoDB, and Socket.IO, this application provides a seamless and responsive chatting experience.
π Check out the live application
- π¬ Real-time Messaging: Instant message delivery using Socket.IO
- π User Authentication: Secure signup, login, and logout functionality
- π€ Profile Management: Update profile pictures using Cloudinary integration
- π’ Online Status: See which users are currently online
- π Message History: View past conversations with any user
- π± Responsive Design: Works on desktop and mobile devices
- πΌοΈ Image Sharing: Send images in chat messages
- π¨ Theme Support: Multiple theme options
|
|
βββ backend/ # Backend server code
β βββ src/
β β βββ controllers/ # Request handlers
β β βββ lib/ # Utilities and configurations
β β βββ middleware/ # Express middleware
β β βββ models/ # Mongoose models
β β βββ routes/ # API routes
β β βββ index.js # Server entry point
β βββ .env.example # Environment variables template
β βββ package.json # Backend dependencies
β
βββ frontend/ # Frontend React application
β βββ public/ # Static assets
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ lib/ # Utilities and helpers
β β βββ pages/ # Page components
β β βββ store/ # Zustand state stores
β β βββ App.jsx # Main application component
β βββ package.json # Frontend dependencies
β
βββ package.json # Root package.json
# Root package.json
- π¦ Node.js (v16 or higher)
- π MongoDB
- βοΈ Cloudinary account (for image uploads)
-
Clone the repository
git clone https://github.com/kanak227/Convosync.git cd convosync -
Install dependencies
# Install root dependencies npm install # Install backend dependencies cd backend npm install # Install frontend dependencies cd ../frontend npm installl
-
Set up environment variables
- Copy
.env.exampleto.envin the backend directory - Fill in your MongoDB URI, JWT secret, and Cloudinary credentials
- Copy
-
Start the development servers
# Start backend server (from backend directory) npm run dev # Start frontend server (from frontend directory) npm run devv
-
Open your browser and navigate to
http://localhost:5173
The application is configured for easy deployment:
- π Backend serves static frontend files in production mode
- βοΈ Environment variables control configuration for different environments
- π Deployed on Render
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all the open-source libraries that made this project possible
- Inspired by modern chat applications like Slack and Discord
Built with β€οΈ by Kanak
β Star this project β’ π Report Bug β’ β¨ Request Feature