A full-stack real-time chat application built using the MERN stack with modern technologies like Socket.io, JWT Authentication, Zustand, and fully Dockerized using Docker & Docker Compose π³.
π Live Demo: https://chat-app-uiqr.onrender.com
- Secure login/signup using JWT
- Instant messaging powered by Socket.io
- See who is online in real-time
- Managed efficiently using Zustand
- Robust error handling on both client & server
- Built with TailwindCSS + DaisyUI
- Dockerized frontend & backend services
- Multi-container setup using Docker Compose
- GitHub Actions workflow for automated CI
- Runs on every push and pull request to the
mainbranch - Automatically installs dependencies and validates the Docker build
- Fully deployed on Render
- React.js
- Zustand
- TailwindCSS
- DaisyUI
- Node.js
- Express.js
- MongoDB
- Socket.io
- JWT Authentication
- Docker
- Docker Compose
- GitHub Actions
- Continuous Integration (CI)
- Render
frontend/ β React Frontend
backend/ β Node.js + Express Backend
docker-compose.ymlgit clone https://github.com/debojeetmitra/CHAT_APP.git
cd CHAT_APPcd backend
npm install
npm run devcd frontend
npm install
npm run devdocker compose up --builddocker compose downCreate a .env file inside the backend folder:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key- Implemented real-time communication using WebSockets
- Understood JWT-based authentication flow
- Managed global state with Zustand
- Learned Docker & Docker Compose
- Worked with multi-container applications
- Improved debugging and deployment workflow
- Understood full-stack deployment on Render
- Built a CI pipeline using GitHub Actions
- Automated dependency installation and Docker image validation
Contributions are welcome! Feel free to fork this repo and improve it.
If you have any questions or suggestions, feel free to reach out.
β If you like this project, give it a star!