screencastgen

FastAPI App

Application setup, middleware, lifespan, and router mounting.

Source: web/backend/main.py


Application

app = FastAPI(title="screencastgen API", version="2.0.0")

Lifespan Events

Event Action
Startup Create database tables
Shutdown Dispose database engine

Middleware

Routers (under /api prefix)

Prefix Router Description
/api/uploads Uploads Router File upload
/api/jobs Jobs Router Job CRUD + dispatch
/api/jobs/{id}/events Events Router SSE progress
/api/voices Voices Router Voice library
/api/jobs/{id}/reader/... Reader Router Browser reader assets

Health Check

GET /api/health → {"status": "ok"}

Dependencies

FastAPI App
├── FastAPI + uvicorn
├── Web Config         (Settings)
├── Web Database       (engine lifecycle)
├── Uploads Router
├── Jobs Router
├── Events Router
├── Voices Router
└── Reader Router

See Also