Aller au contenu principal

Architecture AssoSuite

Statut

Document de cadrage AssoSuite — version initiale.

Vue d'ensemble

AssoSuite s'inscrit dans l'architecture Laravel modulaire de DMV.

Le module backend visible porte la logique métier associative : membres, invitations, cotisations, publications et projets.

État actuel visible

Le module est situé dans api/app/Modules/AssoSuite.

Il contient :

  • Controllers pour les endpoints applicatifs ;
  • Models pour les entités AssoSuite ;
  • Services pour la logique métier ;
  • Requests pour les validations ;
  • DTOs pour les sorties structurées ;
  • Middleware pour le contrôle d'accès ;
  • Routes/api.php pour les routes ;
  • Providers/AssoSuiteServiceProvider.php pour l'enregistrement des services.

Routes et accès

Les routes visibles utilisent :

  • identify.app ;
  • auth:sanctum ;
  • asso.access pour les routes nécessitant un membre actif ;
  • une route publique d'acceptation d'invitation par token.

Le middleware identify.app accepte assosuite comme source applicative dans le projet.

Modules et responsabilités

ÉlémentResponsabilité
AssoMemberControllerMembres, invitations, suspension, départ.
CotisationControllerPlans, paiements, liste des cotisations.
AssoProjectControllerProjets associatifs.
AssoPublicationControllerPublications de groupe AssoSuite.
EnsureAssoAccessVérifie qu'un utilisateur est membre actif de l'association.
CotisationWriteServiceCréation de plans, paiements Stripe, webhooks.
AssoProjectServiceCréation, mise à jour et archivage de projets.

Données principales

Les tables Laravel visibles sont :

  • assosuite_members ;
  • assosuite_invitations ;
  • assosuite_cotisation_plans ;
  • assosuite_cotisations ;
  • assosuite_projects ;
  • chat_rooms pour les salons liés aux projets.

Intégrations visibles

IntégrationÉtat visible
PublicationRéutilisation des services Publication.
ChatCréation de chat_room pour projets.
StripePaiements et abonnements de cotisation.
SupabaseService admin utilisé dans l'acceptation d'invitation.
IdentityProfil utilisateur utilisé pour auth et rattachement.

Vision cible

La cible architecturale est :

  • une API Laravel centrale pour la logique sensible ;
  • des interfaces AssoSuite autonomes ;
  • une mutualisation maîtrisée avec DMV ;
  • une séparation nette entre interne associatif et public territorial ;
  • une intégration IA via AI Gateway, pas par accès direct aux données ;
  • une rationalisation progressive des dépendances historiques Supabase.

Points à clarifier

  • Frontend dédié ou intégration à un espace existant.
  • Stratégie d'API publique AssoSuite.
  • Règles de versioning des routes.
  • Gestion des documents et médias.
  • Traçabilité des actions sensibles.