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 viaprisma migrate devdans le containerapi - Dema1n : TypeORM —
migrationsRun: truedans 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
useravec 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)