Trois BDD indépendantes, aucune jointure cross-plateforme. La synchronisation passe exclusivement par RabbitMQ.

ORM et stratégie de migration

Statut : stable Périmètre : transverse

  • A1Connect : Prisma 5 — schéma unique dans libs/common/prisma/schema.prisma, migrations via prisma migrate dev dans le container api
  • Dema1n : TypeORM — migrationsRun: true dans la config, les migrations s'appliquent au démarrage du container
  • Inspire-v2 : TypeORM — migrations manuelles (yarn migration:run)

Cohérence cross-plateforme

Statut : stable Périmètre : transverse

  • La clé de jointure inter-plateformes est l'email (pas un ID partagé)
  • Chaque plateforme maintient sa propre table user avec les champs dont elle a besoin
  • Les mises à jour de profil (user___updated) sont publiées par la plateforme source, consommées par les autres pour mise à jour locale

Spécificités Dema1n

Statut : stable Périmètre : dema1n

  • MySQL avec charset utf8mb4_general_ci — attention aux comparaisons de chaînes case-insensitive
  • Redis utilisé pour les sessions et le cache (pas documenté en détail — à compléter)

Champs Jeune — onboarding mentoré (Dema1n)

Champs de la table jeune renseignés lors de l'onboarding mentoré.

Situations particulières

Champ DB Entité TS Obligatoire Question
sp_besoins_mensuels spBesoinsMensuels Non « Je considère que je n'ai pas assez d'argent pour couvrir mes besoins mensuels »
sp_activite_remuneree spActiviteRemuneree Non « J'ai une activité rémunérée, qui n'est pas liée au contenu de mes études »
sp_isolement_familial spIsolementFamilial Non « Je vis loin de ma famille »
sp_isolement_etudiant spIsolementEtudiant Non « Je me sens isolé(e) des autres étudiants de ma formation »

Parcours et soutien

Champ DB Entité TS Obligatoire Question
soutien_proches spSoutiensProches Oui Tes proches peuvent-ils te soutenir dans tes choix ?
sp_niveau_parents spNiveauParents Oui Quel est le niveau d'études de tes parents ou tuteurs ?
projette_etude projetteEtude Oui Obligatoire pour les mentorés. Réponse à la question Quel niveau d'études aimerais-tu atteindre ? dans l'onboarding mentoré
job_ideal jobIdeal Oui Quel est ton job idéal ?
sectors sectors Oui Dans quel(s) secteur(s) aimerais-tu travailler ? (1 à 2 max, depuis SecteurJeuneIcons)

Spécificités Inspire-v2

Statut : stable Périmètre : inspire-v2

  • PostgreSQL avec SSL optionnel via DB_SSLCERT
  • Elasticsearch en parallèle pour la recherche full-text (les données sont indexées, pas requêtées via PG pour la recherche)
  • MinIO pour les assets binaires (images, vidéos via Mux)