Note: This project is a demonstration and is of alpha quality. It is not intended for production use without further development and testing.
A chat application with Retrieval Augmented Generation (RAG) capabilities, consisting of a React frontend and a Node.js backend-for-frontend (BFF) that proxies requests to a Headless RAG API.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ React Frontend │────▶│ Node.js BFF │────▶│ Headless RAG │
│ (Vite + TS) │ │ (Express) │ │ (RAG + Data) │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- Frontend: React 19 with TypeScript, Vite, TanStack Query, Zustand, and Tailwind CSS
- Backend BFF: Node.js/Express providing authentication and API proxying
- Headless RAG API: External RAG service (not included in this repository)
- Node.js 18+
- A running Headless RAG API backend with an API key
- Install dependencies for both projects:
cd frontend && npm install
cd ../backend-bff && npm install- Configure the backend:
cd backend-bff
cp .env.example .env
# Edit .env with your configuration- Start both services:
# Terminal 1 - Backend BFF
cd backend-bff && npm run dev
# Terminal 2 - Frontend
cd frontend && npm run dev- Access the application:
- Frontend: http://localhost:5173
- Backend BFF: http://localhost:3000
rag-frontend/
├── frontend/ # React frontend application
│ └── README.md # Frontend-specific documentation
├── backend-bff/ # Node.js backend-for-frontend
│ └── README.md # Backend-specific documentation
└── README.md # This file
For detailed information about each component, see:
- Frontend README - React application setup, features, and development
- Backend BFF README - Authentication, API endpoints, and deployment
- Domain-based email authentication
- Session management
- Conversation management
- RAG-powered chat with streaming responses
- Markdown and LaTeX rendering
- Norwegian Design System UI components
MIT