Add React-TypeScript-Vite frontend with FastAPI backend#19
Draft
Add React-TypeScript-Vite frontend with FastAPI backend#19
Conversation
Create backend directory with REST and WebSocket API endpoints: - Health, auth, chat, models, and documents endpoints - SQLModel database models for chat persistence - JWT and API key authentication - Alembic migration support - Pydantic request/response schemas Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove unused chatbot imports from chat endpoint - Add logging for document listing failures - Filter chat history by message ID instead of list slicing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Create test suite covering health, auth, chat, and models endpoints using FastAPI TestClient with in-memory SQLite database. Tests include session CRUD, WebSocket streaming, JWT token creation/validation, and model listing. Add '.' to pytest pythonpath to enable backend package imports. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ersistence, and tests Co-authored-by: umbertogriffo <1609440+umbertogriffo@users.noreply.github.com>
- Add TypeScript types for chat sessions, messages, documents, settings - Add Axios API client with all backend endpoints + WebSocket support - Add Zustand store for chat state management - Add React Query hooks for data fetching, mutations, and streaming - Add UI components: Sidebar, ChatArea, MessageBubble, ChatInput, ModelSelector, SettingsPanel - Configure TailwindCSS v4 with dark theme - Configure Vite dev server proxy for API and WebSocket - Remove default Vite scaffold files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Configure Vitest in vite.config.ts with jsdom environment - Add test setup file with jest-dom matchers - Add test-utils with QueryClient wrapper for component tests - Add ChatInput tests (render, send, clear, empty, disabled) - Add MessageBubble tests (user/assistant messages, sources, markdown) - Add chatStore tests (state, addMessage, toggleSidebar, settings, streaming) - Add test script to package.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add Dockerfiles for backend (FastAPI/uvicorn) and frontend (React+Vite with nginx), nginx reverse proxy config, and docker-compose.yml to orchestrate both services with volume mounts for data directories. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…itignore Co-authored-by: umbertogriffo <1609440+umbertogriffo@users.noreply.github.com>
Co-authored-by: umbertogriffo <1609440+umbertogriffo@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add React-TypeScript-Vite frontend with FastAPI backend
Add React-TypeScript-Vite frontend with FastAPI backend
Feb 19, 2026
…encies and adjust Python dependencies in pyproject.toml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the Streamlit UI with a modern React frontend and exposes existing RAG functionality via a FastAPI backend with SQLite persistence.
Backend (
/backend)/api/health,/api/chat(HTTP & WS streaming),/api/documents(upload + list),/api/models,/api/auth/tokenX-API-Keyheader), anonymous fallback for local devChatSession,ChatMessage)LamaCppClient,Chroma,ConversationHandlerwired through API routes without modificationPath.name)Frontend (
/frontend)react-markdown), streaming cursorSidebar,ChatArea,MessageBubble,ChatInput,ModelSelector,SettingsPanelInfrastructure
docker-compose.yml: backend (FastAPI/uvicorn) + frontend (multi-stage Node build → Nginx) with volume mounts formodels/,vector_store/,docs//api/reverse proxy with WebSocket upgradefrontend-{install,build,test},backend-{install,test},docker-{up,down}Tests
TestClientwith in-memory SQLiteExample: Chat via API
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.