A modern real-time chat application powered by React, Tailwind CSS, WebSockets, and Google Gemini API.
Supports Markdown rendering, model selection, and a sleek black-themed UI inspired by modern chat apps.
- Real-time communication using WebSockets
- Modern black-themed chat UI built with Tailwind CSS
- Markdown rendering with React Markdown + remark-gfm
- Switch between multiple Gemini models (2.0 Flash, 2.5 Flash, 1.5 Flash)
- React
- Tailwind CSS
- React Markdown + remark-gfm
- Express.js
- ws (WebSockets)
- Axios
- dotenv
- Gemini API
.
├── backend/ # Node.js + Express + WebSocket server
│ ├── server.js
│ ├── .env # API key (ignored in Git)
│ └── package.json
├── frontend/ # React + Tailwind frontend
│ ├── src/
│ │ ├── App.jsx
│ │ ├── index.css
│ └── package.json
└── README.md
git clone https://github.com/Aparnamol-KS/Gemini-chat.git
cd Gemini-chat
cd backend
npm install
-
Create a .env file inside backend/
API_KEY=your_api_key_here
-
Start the backend
node server.js
Runs at: ws://localhost:3000
cd frontend
npm install
npm run dev
Runs at: http://localhost:5173
Here are some useful references and documentation that were helpful while building this project:
- Google Gemini API Documentation
- WebSockets in Node.js
- React Official Docs
- Tailwind CSS Documentation
- React Markdown Guide
This project is licensed under the MIT License