Gemini is a real-time chat application built using the MERN (MongoDB, Express, React, Node.js) stack. It provides seamless messaging, group chats, file sharing, and emoji support for dynamic conversations. The app supports fully responsive design, making it usable on all device sizes.
- Frontend: React ⚛️
- UI Components: ShadCN 🧩
- Styling: Tailwind CSS 🎨 (React-icons for icons)
- Responsiveness: Fully responsive 📱💻
- Authentication: JWT-based authentication 🔑
- File Handling: Multer for file and image uploads 📁📷
- Real-time Messaging: Socket.io for real-time communication 💬
- Chat Support: Group and personal messages 👥
- Fun Conversations: Emoji support 😄
- Backend: Node.js with Express 🛠️
- Database: MongoDB 🗄️
- State Management: Zustand 🧠
- API Calls: Axios 🌐
- Vite
- ShadCN
- TailwindCSS
- PostCSS, Autoprefixer
- React Router DOM
- Axios
- Zustand
- React Lottie
- Moment.js
- Express
- Nodemon
- Dotenv
- Mongoose
- CORS
- Cookie-parser
- Bcrypt
- JWT
- Multer
- Socket.io
- Voice message support
- User presence indicators
- Message receipt status
- Pin conversations
- Notifications
- Clone the repository:
git clone https://github.com/marawan206/gemini-chat-app.git
- Navigate to the project directory:
cd gemini-chat-app - Install dependencies for both client and server:
cd client && npm install cd ../server && npm install
- Run the app:
- For client:
cd client && npm run dev
- For server:
cd server && npm run dev
- For client:
This project is licensed under the MIT License.