- User Interface: Built with React + Tailwind CSS for a responsive UI.
- State Management: Context API / Redux for managing chat state.
- WebSockets: Socket.io / STOMP over WebSockets for real-time messaging.
- Authentication: JWT-based authentication for secure user sessions.
- API Communication: Uses REST APIs (Axios/Fetch) to interact with the backend.
- Spring Boot REST APIs for authentication, message storage, and user management.
- WebSockets (Spring WebSocket + STOMP) for real-time chat.
- AI Model Integration: API clients for GPT-3.5, Grok, AWS Bedrock, Claude, etc.
- Database: PostgreSQL / MongoDB for storing chat history and user data.
- Authentication & Security: JWT / OAuth2-based authentication.
- User Table: Stores user details & credentials.
- Chat Messages Table: Stores chat history.
- AI Query Logs: Logs AI interactions for future insights.
- Spring Boot Service Layer to handle API requests for different AI models.
- Dynamic Model Selection: Users choose GPT, Grok, Bedrock, or Claude at runtime.
- AI Model Request Flow:
- User selects an AI model.
- Request sent to backend via REST API.
- Spring Boot forwards request to the selected AI API.
- Response is sent back to the user.
- Frontend: Deployed on Vercel / Netlify.
- Backend: Deployed on AWS EC2 / DigitalOcean / Heroku.
- Database Hosting: AWS RDS (PostgreSQL) / MongoDB Atlas.
- Containerization: Docker for managing services.
- CI/CD: GitHub Actions / Jenkins for automated deployment.
[ React (Frontend) ] <--> [ Spring Boot (Backend) ] <--> [ AI Models API ]
| | |
WebSockets PostgreSQL / MongoDB GPT, Grok, Bedrock