A modern fullstack chat application built with:
- 🧠 NestJS (Backend)
- ⚡ Socket.IO for real-time messaging
- 🎨 React.js + Tailwind CSS for a responsive UI
- 💅 shadcn/ui for accessible and beautiful components
- 📂 MongoDB for message persistence
- 💬 User join/leave announcements, typing indicators, and chat history
✅ Real-time messaging ✅ Join/Leave notifications ✅ Typing indicators ✅ MongoDB message storage ✅ Display active users ✅ Responsive UI (with Tailwind + shadcn) ✅ Fully typed with TypeScript
chat-app/
├── chat-backend/ → NestJS backend (Socket.IO + MongoDB)
├── chat-frontend/ → React frontend (Tailwind + WebSocket)
git clone https://github.com/YOUR_USERNAME/chat-app.git
cd chat-appcd chat-backend
npm installCreate a config folder and inside it create a config.ts file:
MONGO_URI=mongodb://localhost:27017/chat-app
Make sure MongoDB is running locally
npm run start:devBackend will run on: http://localhost:3000
- NestJS
- Socket.IO (WebSocket Gateway)
- Mongoose + MongoDB
- TypeScript
- React.js (Vite)
- Tailwind CSS
- shadcn/ui
- WebSockets
Feel free to fork the project and submit a PR with improvements!