A full-stack AI-powered chat application built with a Django REST Framework backend and a React frontend, powered by the Google Gemini API.
It offers real-time chatting, Google authentication, chat history, and a modern responsive UI.
🔗 Live Demo: RGPT Chat App
⚙️ (Note: The app may load slowly initially as the backend is hosted on Render free tier.)
🔗 Backend API: https://rgpt-chat-app-backend.onrender.com
- 💬 Real-time chat interface
- 🔐 User authentication via Google Sign-In
- 💾 Persistent, user-specific chat histories
- 🧠 AI responses powered by Google Gemini Pro API
- 🖼️ Image analysis capabilities
- 🧩 Markdown & code block rendering for AI responses
- 📁 Collapsible sidebar with chat management (rename, pin, delete)
- 🌗 Light/Dark theme toggle
- ⚙️ REST API communication between React and Django
- Python / Django / Django REST Framework
- Google Gemini API
django-allauthfor Google authentication- Deployed on Render
- JavaScript / React / Vite
- Tailwind CSS for styling
@react-oauth/googlefor loginreact-router-domfor routingaxiosfor API communication- Deployed on Vercel
git clone https://github.com/EDWARD-012/RGPT-Chat-App.git
cd RGPT-Chat-Appcd backend
pip install -r requirements.txt
python manage.py migrate
python manage.py runserverGEMINI_API_KEY=your_gemini_api_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
cd frontend
npm install
npm run devVITE_BACKEND_URL=https://rgpt-chat-app-backend.onrender.com
VITE_GOOGLE_CLIENT_ID=your_google_client_id
🔹 The frontend uses environment variables for Google Authentication and backend API requests. 🔹 Ensure
.envis configured before running locally.
RGPT-Chat-App/
├── frontend/ # React + Vite + Tailwind frontend
│ ├── src/
│ └── .env
├── backend/ # Django + DRF backend
│ ├── chat/
│ ├── users/
│ └── .env
└── README.md
- ✨ UI redesign for a more polished and smooth experience
- 🎨 Improved theme animations and transitions
- 💬 Enhanced chat bubble design and message rendering
- 📱 Better mobile responsiveness
- ⚡ Performance optimization for faster load times
Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to improve.
This project is open-source and available under the MIT License.