Architecture

How Dinatos is built and why, for people changing the code. If you only want to run it, see Running your own instance; to use it, see Using Dinatos.

Dinatos is a self-hosted workout tracker: a FastAPI backend with a Postgres database, and a Flutter app (web and Android) that talks to it over REST.

Suggested reading order:

  1. Domain model: the terms and repository layout.

  2. Backend: API, auth, backup, imports.

  3. Frontend: the Flutter app.

  4. Distribution: how releases are packaged.

Operational gotchas for building and testing live in AGENTS.md and CONTRIBUTING.md at the repository root.