Aller au contenu principal

Vue d'ensemble

Auralith est une stack classique : Angular 21 + FastAPI + Postgres pour la base d'app, plus des adaptateurs vers les DB cibles que vous lui faites introspecter.

Couches

Composants principaux

  • Frontend : Angular 21, signals + computed, OnPush partout, lazy routes, i18n FR + EN (1030 cles parite).
  • API : FastAPI sur /api/v1. Routes par feature (projects, connections, patches, etc.). OpenAPI auto-genere a /docs.
  • Service layer : logique metier. Decouple des routes. Reutilisable par les workers.
  • DB adapters : un par dialecte. Implementent test_connection, introspection, builders SQL (mass_patch, seed, anonymize) avec quoting et types adaptes.
  • App DB : Postgres dedie. Stocke users, projects, audit, jobs, etc.
  • Background workers : email, cleanup, drift_check, webhooks, usage_reporter, access_sweeper. Tasks asyncio dans le lifespan FastAPI.

Auth

  • Cookies httpOnly + CSRF middleware pour les sessions browser.
  • API keys (bearer) scopees par projet pour l'API publique.
  • OAuth Google / GitHub via oauth_service.
  • SAML 2.0 + SCIM 2.0 pour Enterprise.
  • 2FA TOTP optionnel par user.

Observabilite

  • Logs structures JSON avec trace_id propage par middleware.
  • Prometheus : /metrics standard exposees.
  • OpenTelemetry tracing : opt-in via OTEL_ENABLED=true.
  • Health endpoint : /health (root, hors /api/v1 pour kubelet).

Persistance

  • Alembic pour migrations de la base d'app. Baseline + migrations numerotees (001 a 012+).
  • Index FK automatiques sur toutes les colonnes FK (perf join).
  • Soft delete sur projets / users : is_deleted=true ou anonymize plutot que DELETE direct.

Voir aussi