OpenTranscribe — Backend Module Map

OpenTranscribe — Backend Module Map An architecture diagram generated by Archify. api/ · ~45 routers · Architecture component api/ ~45 routers auth/ · sessions, MFA, SSO · Architecture component auth/ sessions, MFA, SSO schemas/ · Pydantic contracts · Architecture component schemas/ Pydantic contracts services/ · asr, chat, search + 6 more · Architecture component services/ asr, chat, search + 6 more tasks/ · Celery jobs · Architecture component tasks/ Celery jobs models/ · SQLAlchemy ORM · Architecture component models/ SQLAlchemy ORM db/ · session + base · Architecture component db/ session + base core/ · config, celery.py · Architecture component core/ config, celery.py utils/ · shared helpers · Architecture component utils/ shared helpers validate reuse queue config Legend Backend Database Security Message bus

Two callers, one services layer

  • • FastAPI routers (sync request) and Celery tasks (async job) both call into services/ — no duplicated business logic
  • • This is exactly the layering pyreverse's astroid crash prevented it from ever showing

auth/ is not just another router group

  • • Sessions, MFA, OIDC/LDAP/SCIM, privilege model — role∈{user,admin,super_admin} is the sole authz truth repo-wide

9 top-level packages, not 1 flat api/

  • • services/ alone has 9 subpackages (asr, chat, search, redaction, watch_sources, diarization, documents, ingest_artifacts, opensearch_service)