LinkUp is a modern real-time chat application built with React, Node.js, Express, MongoDB, and Socket.io. It features user authentication, profile management, real-time messaging, and a beautiful responsive UI.
- User authentication (Sign up, Login, Logout)
- Profile update with avatar and bio
- Real-time messaging with Socket.io
- Online/offline user status
- Unread message count
- Image sharing in chat
- Responsive and modern UI
- Frontend: React, Vite, Tailwind CSS, Axios, Socket.io-client
- Backend: Node.js, Express, MongoDB, Mongoose, Socket.io
- Cloud: Cloudinary (for image uploads)
- Node.js (v18 or above recommended)
- MongoDB Atlas or local MongoDB instance
git clone <your-repo-url>
cd chat-appcd server
npm installCreate a .env file in the server/ folder with the following:
MONGODB_URI=<your-mongodb-uri>
PORT=5000
JWT_SECRET=<your-jwt-secret>
CLOUDINARY_CLOUD_NAME=<your-cloudinary-cloud-name>
CLOUDINARY_API_KEY=<your-cloudinary-api-key>
CLOUDINARY_API_SECRET=<your-cloudinary-api-secret>
Start the backend server:
npm run servercd ../client
npm installCreate a .env file in the client/ folder with:
VITE_BACKEND_URL='http://localhost:5000'
Start the frontend dev server:
npm run devVisit http://localhost:5173 in your browser.
chat-app/
client/ # React frontend
server/ # Node.js/Express backend
- You can deploy the frontend and backend separately (e.g., Vercel for frontend, Render/Heroku for backend).
- Make sure to update the environment variables for production.
This project is for learning and portfolio purposes.
Made with ❤️ using React, Node.js, and Socket.io