API for the ZAPP zebrafish toxicology atlas.
FastAPI server backed by the LinkML-generated
zebrafish-toxicology-atlas-schema.
The previous Flask upload endpoint and the first-pass React/Vite UI are
archived under legacy/; neither is wired into the
current build.
just install
just build-client
just dev-api # http://localhost:8000That serves everything: the HTML pages at /, the JSON API at /api, and the
React editing client at /edit.
To work on the React client with hot reloading, run just dev-client in one
terminal and just dev-api-hmr in another, then open
http://localhost:8000/edit/ — the page comes from FastAPI, not from Vite.
just test runs the pytest suite. just seed reseeds the dev DB (seeding
also runs automatically on FastAPI startup unless ZAPP_SKIP_SEED=1).
See ARCHITECTURE.md for how the two surfaces fit together, how the LinkML schema drives both, and how to sign in locally without ORCID credentials.
- Fly.io —
fly deploy(uses the top-levelDockerfile+fly.toml). - GCP Cloud Run —
just gcp-shipbuilds, pushes, and deploys with a GCS-backed volume for the SQLite DB.