ChatIO is a modern real-time chat application built with React, Node.js, Express, MongoDB, and Socket.IO. It features user authentication, profile management, image uploads, and a beautiful, themeable UI powered by Tailwind CSS and DaisyUI.
- Real-time messaging with Socket.IO
- User authentication (Sign up, Login, Logout)
- Profile management with avatar upload
- Theme selection (30+ DaisyUI themes)
- Responsive and modern UI
- Image sharing in chat
- Online users indicator
- Node.js (v18+ recommended)
- MongoDB database
- Cloudinary account (for image uploads)
-
Clone the repository:
git clone https://github.com/yourusername/chatio.git cd chatio -
Install dependencies for both client and server:
npm install cd server npm install cd ..
-
Set up environment variables:
Copy
.env.exampleto.envin theserverdirectory and fill in your credentials:cp server/.env.example server/.env
-
Run the development servers:
- Client:
npm run dev
- Server:
cd server npm run dev
- Client:
-
Open your browser:
- Visit http://localhost:5173
├── public/
│ ├── avatar.png
│ ├── signup.png
│ ├── user1.png
│ ├── user2.png
│ └── vite.svg
├── src/
│ ├── components/
│ ├── constants/
│ ├── lib/
│ ├── pages/
│ └── store/
└── server/
├── src/
├── .env
└── ...
- React
- Zustand (state management)
- Tailwind CSS & DaisyUI
- Express.js
- MongoDB & Mongoose
- Socket.IO
- Cloudinary (image uploads)
MIT
Made with ❤️ for learning and chatting!


