A modern real-time chat application built with React, Node.js, Express, MongoDB, and Socket.IO.
Features professional code conventions, standardized patterns, and a clean architecture for scalability.
- 🔐 User authentication (signup & login) with JWT
- 👤 Real-time online/offline user status
- 💬 Instant messaging with Socket.IO
- 📨 Unread message notifications
- 🖼️ User profiles with avatar support
- 🎨 10+ customizable themes
- 📱 Fully responsive design
- ✨ Professional code standards & patterns
- React - UI framework
- Tailwind CSS - Styling
- Zustand - State management
- Axios - HTTP client
- Node.js - Runtime environment
- Express - Web framework
- MongoDB - Database
- Socket.IO - Real-time communication
- ESLint - Code linting
- Prettier - Code formatting
- EditorConfig - Consistent coding styles
- Concurrently - Running multiple scripts
chatosi/
├── backend/
│ ├── src/
│ │ ├── controllers/ # Route controllers
│ │ ├── models/ # Database models
│ │ ├── routes/ # API routes
│ │ ├── middlewares/ # Custom middlewares
│ │ ├── lib/ # Utilities & configs
│ │ └── server.js # Server entry point
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Page components
│ │ ├── store/ # State management
│ │ ├── lib/ # Utilities & configs
│ │ └── main.jsx # App entry point
└── package.json # Root package configuration- Node.js (v18 or higher)
- MongoDB
- npm
-
Clone the repository
git clone https://github.com/Bragosi/Chatosi-Real-Time-Chat-App.git cd Chatosi-Real-Time-Chat-App -
Install all dependencies
npm run install:all
-
Set up environment variables
- Copy
.env.exampleto.envin both frontend and backend directories - Configure your MongoDB connection string and JWT secret
- Copy
-
Start development servers
npm run devThis starts both frontend (usually http://localhost:5173) and backend (usually http://localhost:5000) servers.
npm run build # Build frontend for production
npm start # Start production server
npm run lint # Run linting on both frontend and backendThis project follows professional coding conventions:
- 4-space indentation across all files
- ESLint configuration for code quality
- Prettier for consistent formatting
- Standardized naming conventions
- Modular component architecture
Boluwatife (AKA Bragosi)
- GitHub: @Bragosi
This project is licensed under the ISC License.
Built with modern web technologies and professional development practices.



