This repo was rebuilt from scratch into:
frontend/ — React (Vite) SPA with modern UI + light/dark modebackend/ — FastAPI API with SQLite persistence/ — Home (hero slider + CTAs)/services — Services (modern service cards + Join links)/about — About/classes — Classes (filter + class cards + Join links)/contact — Contact (info cards + embedded map)/join — Join form (validation + API submit + success modal)Base URL: http://localhost:8000
GET /usersReturns saved submissions from SQLite.
POST /usersCreates a new submission (used by the Join form).
Request JSON body
id (optional): UUID string; the UI generates it as crypto.randomUUID()name (required): no digits allowedemail (required): valid email formatservice (required): one of the service strings from the UIphone (required): exactly 10 digitscity (required): no digits allowedResponse
created_at).The UI uses frontend/src/modern.css with CSS variables controlled by:
html[data-theme="light" | "dark"]localStorage as fitnest-theme)cd "C:\Users\infin\Repo\Projects\fitnest\backend"
venv\Scripts\Activate.ps1
uvicorn app.main:app --reload --port 8000
The SQLite DB will be created at:
backend/data/fitnest.sqlite3cd "C:\Users\infin\Repo\Projects\fitnest\frontend"
npm run dev