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!


