Architecture¶
PostgreSQL est la source de vérité. FastAPI porte toute la logique métier et Redis ne conserve que cache, sessions temporaires et verrous. FiveM et le bot ne se connectent jamais directement à la base.
flowchart LR
Player[Joueur] --> FiveM[FXServer / FiveM]
Browser[Navigateur staff] --> Admin[Admin nginx]
Discord[Discord] <--> Bot[Bot Medusa]
Admin --> API[FastAPI]
FiveM --> API
Bot <--> API
API --> DB[(PostgreSQL)]
API --> Redis[(Redis)]
Docs[Documentation nginx]
Réseaux¶
gta_backend est un bridge interne partagé par les services de données et leurs consommateurs.
gta_runtime permet à admin, bot, FiveM et documentation de publier ou joindre les services
externes nécessaires. L'API, PostgreSQL et Redis ne publient aucun port hôte par défaut.
Répertoires¶
api/: FastAPI, modèles, services, migrations Alembic et tests.admin/: application statique servie par nginx et proxy/api.bot/: bot Discord et service HTTP privé pour OAuth/rôles.fivem/: image FXServer, configuration et ressources.docs/: sources MkDocs, réparties entre fonctionnel et technique.