A full-stack chat application with RAG (Retrieval-Augmented Generation) capabilities, featuring a React frontend and Node.js BFF that connects to a Clojure backend.
Frontend (React/Vite)
↓
Node.js BFF
(Auth + Proxy)
↓
Clojure API
(RAG + Data)
React 19 + TypeScript + Vite frontend with:
- Domain-based authentication
- Chat interface with streaming support
- React Query for server state management
- Zustand for UI state
- Tailwind CSS + Norwegian Design System
Node.js + Express backend-for-frontend providing:
- Domain-based email authentication
- Session management
- API proxy to Clojure backend
- Type-safe TypeScript implementation
View Backend BFF Documentation →
- Node.js 18+
- npm/yarn/pnpm
-
Start the Backend BFF:
cd backend-bff npm install cp .env.example .env # Edit .env with your configuration npm run dev
-
Start the Frontend:
cd frontend npm install npm run dev -
Access the application:
- Frontend: http://localhost:5173
- Backend BFF: http://localhost:3000
Each component has its own README with detailed setup and development instructions:
- Domain-based authentication (no passwords required)
- Chat interface with streaming responses
- RAG-powered conversations
- Session management
- Markdown + KaTeX rendering
- Conversation history management
MIT