A full-stack monorepo application for managing music flashcards, built with FastAPI (backend) and Svelte (frontend).
cd tcl-api
uv sync
pip install -e .
uv run uvicorn tcl_api.main:app --reload
uvicorn tcl_api.main:app --reloadcd tcl-api
uv run python scripts/generate_types.py
python scripts/generate_types.pycd tcl-web
npm install
npm run generate-types
npm run devMake changes to the API code in tcl-api
cd tcl-api
uv run uvicorn tcl_api.main:app --reload
uv run python scripts/generate_types.py
cd ../tcl-web
npm run generate-typesCreate a .env file in tcl-api:
APP_NAME=ToneCards Lab API
APP_VERSION=0.1.0
DEBUG=true
API_PREFIX=/api/v1
CORS_ORIGINS=["http://localhost:5173","http://localhost:3000"]
HOST=0.0.0.0
PORT=8000- Make changes to the API
- Regenerate OpenAPI spec
- Regenerate TypeScript types
- Update frontend code
- Test both backend and frontend
- Submit PR
Ensure CORS_ORIGINS in .env includes your frontend URL.