This is the backend for the Chat AI application. It is a Node/Express/TypeScript API that uses Stream for chat, chat history, and user management.
- Node.js
- Express.js
- TypeScript
- Stream Chat Messaging - used for chat, chat history, and user management.
- Google Gemini (Gemini 2.5 Flash) - used for the AI chatbot
- Neon Database - stores user information and chat history
- Drizzle ORM (PostgreSQL with Neon driver) - used for interaction with the database
- POST /register-user - Create a user in Stream chat and in the database
- POST /chat - Creates a new Stream chat channel, sends a request to Open AI to generate a response, and saves the chat history the database
- POST /get-messages - Get's the chat history for a specific user