fullstackchris.dev
Projets / EduMation
ÉTUDE DE CAS · PLATEFORME ENTREPRISE

EduMation

EduMation est une plateforme de gestion éducative de niveau entreprise centrée sur la résolution de défis complexes de planification et d'administration grâce à l'automatisation. La plateforme centralise la gestion des élèves, enseignants et cours dans une architecture multi-tenant, tandis que sa fonctionnalité centrale — un moteur de planification intelligent tenant compte des contraintes — automatise la génération des emplois du temps hebdomadaires en intégrant les besoins internes avec la disponibilité de calendriers externes (Google, Microsoft, ICS).

reactnodejsdocker
Rôle
Solo · full-stack
Durée
2023 · 14 semaines
Plateforme
Web · SaaS
Type
Plateforme entreprise
edumation.app
EduMation screenshot
LE PROBLÈME

Les établissements d'enseignement font face à un « cauchemar de planification » : coordonner manuellement des dizaines d'enseignants, de groupes d'élèves et de cours sur des créneaux limités tout en évitant les conflits avec des engagements personnels externes.

Construit pour des organismes de formation professionnelle gérant plusieurs écoles, programmes et cohortes d'élèves. La plateforme devait gérer une planification complexe basée sur des contraintes (disponibilité des enseignants, capacité des salles, dépendances entre cours) à grande échelle, tout en assurant une isolation stricte des données entre établissements.

  • La planification manuelle est pénible. Coordonner des dizaines d'enseignants et de cours à la main prend des jours et est sujet aux erreurs.
  • Un changement casse tout. Un seul conflit d'enseignant se répercute en cascade sur des dizaines de réaffectations sur le semestre.
  • Aucun outil n'existe pour cette niche. Les logiciels de planification génériques ne gèrent pas les contraintes spécifiques au domaine éducatif.

Organismes de formation & coordinateurs

Organismes de formation professionnelle gérant plusieurs écoles, programmes et cohortes d'élèves à la fois

14j→5min
temps de planification
100%
sans conflit
90%
moins de travail admin
LA SOLUTION

des semaines aux minutes.

Une stack MERN (MongoDB, Express, React, Node) modulaire avec TypeScript pour une sécurité de type stricte. Le frontend React suit un Design System interne sur mesure, tandis que le backend Node.js implémente un service de planification piloté par heuristique. Les données de chaque établissement sont isolées via une couche de filtrage basée sur schoolId, et la disponibilité externe est mise en cache avec un index TTL de 180 jours pour des vérifications de conflit en O(1).

01

Importer

Charger enseignants, groupes d'élèves, salles et contraintes.

02

Générer

Le solveur heuristique propose 3 emplois du temps sans conflit.

03

Affiner

Les coordinateurs ajustent et valident dans l'UI glisser-déposer.

04

Publier

Calendrier en direct synchronisé avec tous les enseignants et élèves.

Avant
workflow manuel
outils fragmentés · forte charge manuelle
Après
edumation.app
produit unifié unique · rapide et automatisé
FONCTIONNALITÉS CLÉS

Conçu autour de la façon dont organismes de formation & coordinateurs travaillent réellement.

FEATURE 01

Moteur de planification IA

Un solveur heuristique qui traite les contraintes strictes (disponibilité des enseignants, capacité des salles) et souples (pauses déjeuner, préférences) pour générer des propositions sans conflit en moins de 5 minutes.

  • Génère 3 propositions distinctes via une randomisation basée sur une graine
  • Gère une planification multi-cohorte complexe en quelques secondes
moteur-de
Moteur de planification IA
FEATURE 02

Synchronisation calendrier en temps réel

Une synchronisation OAuth2 bidirectionnelle avec Google Calendar et Microsoft Graph garantit que les engagements personnels des enseignants sont toujours reflétés, sans étape d'import manuel.

  • Cache TTL de 180 jours pour des vérifications de conflit en O(1)
  • Un worker de synchronisation en arrière-plan gère élégamment les limites de taux
synchronisation-calendrier
Synchronisation calendrier en temps réel
FEATURE 03

Architecture multi-tenant

Une isolation stricte des données imposée au niveau middleware garantit qu'un établissement ne voit jamais les données d'un autre, même sur une infrastructure partagée.

  • Filtrage basé sur schoolId à chaque requête de base de données
  • Contrôle d'accès basé sur les rôles par établissement et par rôle
architecture-multi-tenant
Architecture multi-tenant
DÉFI TECHNIQUE

Problèmes difficiles résolus.

Le planificateur utilise une heuristique gloutonne qui trie les cours par leur « degré de contrainte » (le moins contraint d'abord). Il calcule les créneaux invalides en indexant les événements internes et les intervalles occupés externes mis en cache. Un système de randomisation basé sur une graine génère trois propositions distinctes pour les administrateurs, tandis qu'un worker de synchronisation dédié gère les intégrations OAuth2 avec les fournisseurs de calendriers externes.

Ce qui rendait la tâche difficile

  • Résoudre le problème de planification NP-difficile en pondérant de multiples contraintes souples et strictes comme les pauses déjeuner, les horaires de travail et les préférences des enseignants.
  • Assurer une isolation stricte des données multi-tenant via un filtrage au niveau middleware pour toutes les requêtes de base de données sur l'infrastructure partagée.
  • Gérer des synchronisations de calendriers externes à forte latence (Google, Microsoft Graph, ICS) sans bloquer les flux principaux de l'application ni dépasser les limites de taux des fournisseurs.
  • Construire une UI d'emploi du temps interactive et performante capable d'afficher des centaines d'événements dynamiques avec des temps de réponse inférieurs à 100 ms pour les modifications.
architecture.ts
1 const frontend = [ "React", "TypeScript", "Design System sur mesure" ];
2 const backend = [ "Node.js", "Express", "MongoDB" ];
3 const intégrations = [ "API Google Calendar", "Microsoft Graph", "ICS" ];
4 const devops = [ "Docker", "CI/CD", "Redis" ];
LA STACK

Technologies utilisées.

Frontend
ReactTypeScriptDesign System sur mesure
Backend
Node.jsExpressMongoDB
Intégrations
API Google CalendarMicrosoft GraphICS
DevOps
DockerCI/CDRedis
CE QUE CELA PROUVE

Ce que EduMation démontre.

Résolution de problèmes par IA

Conçu et livré un solveur heuristique en production pour un problème de planification NP-difficile.

Sécurité multi-tenant

Construit une isolation des données au niveau ligne sur une base SaaS partagée sans aucune contamination croisée entre tenants.

UI haute performance

Affiché des centaines d'événements de calendrier dynamiques avec des temps de réponse interactifs inférieurs à 100 ms.

Intégrations tierces

Livré et maintenu des synchronisations OAuth2 en direct avec Google Calendar et Microsoft Graph.

TRAVAILLER ENSEMBLE

Envie de construire quelque chose comme ça ?

Apportez-moi votre idée ou projet à moitié construit. Je le cadre, le conçois et le livre — avec le même workflow que derrière EduMation.

Étude de cas suivante RailGuessr