FastAPI backend for Papyrus authentication, metadata, file storage, and PowerSync-backed synchronization.
- Email/password auth uses
POST /v1/auth/registerandPOST /v1/auth/login. - Google auth starts at
GET /v1/auth/oauth/google/startand finishes throughPOST /v1/auth/exchange-code. - PowerSync credentials come from
POST /v1/auth/powersync-token. - PowerSync uploads use
POST /v1/sync/powersync-upload.
Read the focused guides:
Run from server/:
uv sync --extra dev
./scripts/bootstrap_local.sh
npm --prefix frontend/dev-pages install
npm --prefix frontend/dev-pages run devThe bootstrap is idempotent: it creates development keys when missing, starts the databases, applies Alembic migrations, configures logical replication, and starts the healthy server and pinned PowerSync services.
uv run pytest --cov --cov-report html