Complete ready-to-deploy stack:
- Frontend: React + Vite (theme color auto-extracted from logo)
- Backend: FastAPI (Tasks, Uploads, AI chat), SQLAlchemy
- Database: PostgreSQL (Docker)
- AI: OpenAI GPT (set OPENAI_API_KEY in backend/.env)
- Voice: Web Speech API (“Hey Vani”)
- Docker Compose + GitHub Actions (Pages deploy)
docker compose up --build
# Seed demo data
curl http://localhost:8000/seed
# Open UI
http://localhost:3000Backend docs: http://localhost:8000/docs
- Frontend reads API at
VITE_API_URL(set in docker-compose to http://localhost:8000) - Backend env in
backend/.env:
DATABASE_URL=postgresql+psycopg2://fatuser:fatpass@db:5432/fatdb
OPENAI_API_KEY= # paste your key
[email protected]
SECRET_KEY=dev-secret
- Render: create two services -> backend (Docker, root
backend/), frontend (Static Site, rootfrontend/) - Railway: deploy repo; it will build Docker images
- GitHub Pages: GitHub Action in
.github/workflows/deploy.ymlwill publishfrontend/dist
- Logo placed at
frontend/public/logo.pngand used as favicon - Theme color extracted from logo:
rgb(175, 157, 165)
- Dashboard (KPIs)
- Work Task Listing + per-row file Uploader
- AI Chat (“Hey Vani”)
- Simple Audit Trail