Chat App is a modern real-time messaging application built using the MERN stack, Socket.io, and modern UI libraries.
- Frontend: React, TailwindCSS, Daisy UI, Headless UI
- Backend: Node.js, Express, MongoDB
- Real-time: Socket.io
- State Management: Zustand
- Authentication & Authorization: JWT
- 🔐 User registration and authentication via JWT
- 👾 Real-time chat powered by Socket.io
- 🚀 Display of online user status using Socket.io and React Context
- 📩 Unread messages count displayed as a badge
- 🔄 Global state management with Zustand
- 🐞 Error handling on both server and client sides
- A user registers or logs into the system.
- A list of users is displayed in the left panel. If a user is online, their status is indicated.
- The user selects a chat partner and sends a message.
- All messages are synchronized in real-time via WebSockets.
git clone https://github.com/IrynaBondarenko7/chat-app.git
cd chat-app
npm install
npm run server
cd frontend
npm install
npm run dev
PORT=...
MONGO_DB_URI=...
JWT_SECRET=...
NODE_ENV=...
Both the frontend and backend are located in the same repository and are deployed on Render.com. Since this is a free resource, loading the live page may take some time.
For learning and reference, check out this YouTube course by As a Programmer: