Skip to content

debojeetmitra/CHAT_APP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’¬ Real-Time Chat Application (MERN Stack)

A full-stack real-time chat application built using the MERN stack with modern technologies like Socket.io, JWT Authentication, Zustand, and now fully Dockerized using Docker & Docker Compose 🐳.

πŸ”— Live Demo: https://chat-app-uiqr.onrender.com


πŸš€ Features

πŸ” Authentication & Authorization

  • Secure login/signup using JWT

πŸ’¬ Real-Time Messaging

  • Instant messaging powered by Socket.io

🟒 Online User Status

  • See who is online in real-time

🧠 Global State Management

  • Managed efficiently using Zustand

βš™οΈ Error Handling

  • Robust error handling on both client & server

🎨 Modern UI

  • Built with TailwindCSS + DaisyUI

🐳 Dockerized Architecture

  • Dockerized frontend & backend services
  • Multi-container setup using Docker Compose

πŸš€ Deployment

  • Fully deployed on Render

πŸ› οΈ Tech Stack

Frontend

  • React.js
  • Zustand
  • TailwindCSS
  • DaisyUI

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Socket.io
  • JWT Authentication

DevOps / Deployment

  • Docker
  • Docker Compose
  • Render

πŸ“Έ Screenshots

πŸ’¬ Chat Interface

Chat Interface

🟒 Profile Page

Profile Page

πŸ” Login / Signup Page

Login Page

πŸ“‚ Project Structure

frontend/    β†’ React Frontend
backend/     β†’ Node.js + Express Backend
docker-compose.yml

⚑ Getting Started

1️⃣ Clone the Repository

git clone https://github.com/your-username/CHAT_APP.git
cd CHAT_APP

πŸ–₯️ Run Locally

Backend Setup

cd backend
npm install
npm run dev

Frontend Setup

cd frontend
npm install
npm run dev

🐳 Run with Docker

Build & Start Containers

docker compose up --build

Stop Containers

docker compose down

πŸ”‘ Environment Variables

Create a .env file inside the backend folder:

PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key

🎯 Key Learnings

  • 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

🀝 Contributing

Contributions are welcome! Feel free to fork this repo and improve it.


πŸ“¬ Contact

If you have any questions or suggestions, feel free to reach out.


⭐ If you like this project, give it a star!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages