A full-stack chat application supporting multiple AI models with conversation management, streaming responses, and user authentication.
- Frontend: React 19, TypeScript, Vite, TanStack Router, TanStack Query, Better Auth
- Backend: Express.js, TypeScript, Drizzle ORM, PostgreSQL
- AI Providers: OpenRouter (OpenAI-compatible), Google Gemini
- AI chat interface with multiple models
- Real-time streaming responses
- Conversation management and history
- User authentication
- Share conversations
- Custom instructions/preferences
- Admin panel for model management
- Suggestion questions
- Node.js
- pnpm
- PostgreSQL
Server (.env in server/):
# Copy the example environment variables and fill in the values
cp .env.example .envClient (.env in client/):
# Copy the example environment variables
cp .env.example .env# Install dependencies
cd server && pnpm install
cd ../client && pnpm installcd server
# Start PostgreSQL (using Docker)
docker-compose up -d
# Run migrations
pnpm db:push# Start server (from server/)
pnpm dev
# Start client (from client/)
pnpm dev# Build server
cd server && pnpm build
# Build client
cd client && pnpm build