Edukool V2
Résumé de l'application : Edukool
Edukool : Simplifiez la gestion scolaire
Edukool est une solution complète et moderne pour gérer les écoles de langues, permettant aux administrateurs, professeurs et étudiants de collaborer efficacement dans un environnement organisé, intuitif et productif.
👤 Les utilisateurs
- Administrateurs : Maîtres du planning, des inscriptions et de la facturation, ils orchestrent toute la gestion administrative.
- Professeurs : Concepteurs de contenu, ils enrichissent les cours avec des ressources pédagogiques et gèrent la présence des étudiants.
- Étudiants : Accès simplifié à leur planning, téléchargement des ressources et suivi des présences.
🎯 Objectif de l'application
Edukool transforme la gestion scolaire en centralisant toutes les fonctionnalités nécessaires dans une interface moderne et accessible. L'objectif est de réduire la complexité des tâches administratives tout en offrant une expérience enrichissante aux utilisateurs.
🌟 Fonctionnalités clés
- Planification des cours et sessions : L'administrateur peut organiser les cours, planifier les sessions et attribuer les salles.
- Gestion des présences : Les professeurs marquent les présences et les absences des étudiants directement dans l’application.
- Ressources pédagogiques multimédias : Ajout de fichiers, vidéos et liens pour enrichir chaque session.
- Facturation automatisée : Génération et suivi des devis et factures pour les inscriptions aux cours.
- Notifications : Rappels des sessions à venir et alertes sur les paiements impayés.
- Expérience utilisateur fluide : Interface pensée pour chaque rôle, offrant un accès rapide aux fonctionnalités essentielles.
📖 Une histoire positive
Imaginez une école où tout roule comme sur des rails. Marie, administratrice expérimentée, configure en quelques clics l’ensemble des cours et des plannings. Paul, professeur passionné, ajoute des vidéos et des ressources interactives pour ses étudiants. Emma, une étudiante motivée, consulte son planning et accède instantanément à tout le matériel pédagogique depuis son smartphone.
Avec Edukool, la collaboration entre les parties prenantes devient fluide, efficace et enrichissante.
🚀 Vision du produit fini
Edukool incarne l'avenir de la gestion éducative. Grâce à ses fonctionnalités modernes, il libère du temps pour que les écoles se concentrent sur ce qui compte vraiment : offrir un enseignement de qualité et accompagner la réussite des étudiants.
💡 Une école connectée, un avenir éducatif optimisé.
📌 Backlog des fonctionnalités
🔥 Priorité 1 : Fonctionnalités essentielles
EPIC : Configuration et déploiement
1️⃣ Initialisation du backend (Spring Boot, Security, JPA)
-
Tâches techniques :
-
Création du projet Spring Boot avec les dépendances :
-
Spring Web
-
Spring Security
-
Spring Data JPA
-
H2 (pour dev) / MySQL (pour production)
-
JWT pour l'authentification
-
-
Configuration de la sécurité (Spring Security) avec JWT
-
Mise en place des entités de base et des repositories
-
Migration initiale avec Flyway ou Liquibase
-
Tests unitaires et d’intégration
-
2️⃣ Déploiement et CI/CD
-
Tâches techniques :
-
Dockerisation du backend et du frontend
-
Configuration d’un pipeline CI/CD avec GitHub Actions / GitLab CI
-
Déploiement sur un serveur (AWS, DigitalOcean, VPS…)
-
Monitoring et gestion des logs
-
3️⃣ Initialisation de la base de données
-
Tâches techniques :
-
Création du schéma SQL basé sur les entités JPA
-
Insertion de données initiales (administrateur par défaut, rôles, etc.)
-
Tests de performance et d’optimisation des requêtes
-
EPIC : Gestion des utilisateurs
4️⃣ Authentification et rôles
-
Utilisateur : Administrateur, Professeur, Élève, Parent
-
Besoin : Se connecter avec email/mot de passe et accéder aux fonctionnalités selon le rôle
-
Couches concernées : Backend (API d’auth), Frontend (UI Login), Base de données (
useretguardian) -
Technologies associées : Spring Security, JWT, React Hook Form
-
Exercice associé : Authentification JWT
-
Difficulté : 🟠 Moyen
-
Présence wireframes : ✅ Oui
-
Ajout :
-
Les parents peuvent créer un compte et inscrire leurs enfants.
-
Les élèves ne peuvent pas s'inscrire eux-mêmes mais sont liés à un parent.
-
Les administrateurs peuvent valider les inscriptions.
-
Les professeurs se connectent pour voir et gérer uniquement leurs cours.
-
🔥 Priorité 2 : Fonctionnalités avancées
EPIC : Gestion des cours et sessions
5️⃣ Création et gestion des cours
-
Utilisateur : Administrateur
-
Besoin : Ajouter/modifier/supprimer des cours
-
Couches concernées : Backend (API CRUD), Frontend (Formulaire), Base de données (
course) -
Technologies associées : Spring Boot, JPA, React Query
-
Exercice associé : Formulaire de gestion
-
Difficulté : 🟢 Facile
-
Présence wireframes : ✅ Oui
6️⃣ Planification des sessions de cours
-
Utilisateur : Administrateur
-
Besoin : Planifier des sessions avec date, salle et professeur assigné
-
Couches concernées : Backend (API gestion sessions), Frontend (Calendrier interactif), Base de données (
session) -
Technologies associées : FullCalendar.js, Spring Boot, JPA
-
Exercice associé : Gestion d’état avec
useReducer -
Difficulté : 🟠 Moyen
-
Présence wireframes : ✅ Oui
7️⃣ Gestion administrative (Inscriptions, paiements, factures)
-
Utilisateur : Administrateur, Parent
-
Besoin : Gérer les inscriptions aux cours et générer les factures
-
Couches concernées : Backend (API gestion des inscriptions et paiements), Frontend (Tableau de bord, formulaire d’inscription), Base de données (
enrollment,invoice,guardian,guardian_student) -
Technologies associées : Spring Boot, JPA, React Query, Stripe API
-
Exercice associé : Gestion de transactions et paiements
-
Difficulté : 🟠 Moyen
-
Présence wireframes : ✅ Partiel
-
Ajout :
-
Un parent inscrit un ou plusieurs enfants à des cours.
-
Un élève peut être inscrit à plusieurs cours.
-
Un parent gère les paiements et factures associées.
-
L’administrateur valide les inscriptions.
-
8️⃣ Gestion des présences
-
Utilisateur : Professeur
-
Besoin : Enregistrer la présence des étudiants à chaque session
-
Couches concernées : Backend (API gestion des présences), Frontend (Liste d’appel), Base de données (
attendance) -
Technologies associées : React Table, Spring Boot, JPA
-
Exercice associé : Gestion d’état et mises à jour en temps réel
-
Difficulté : 🟠 Moyen
-
Présence wireframes : ✅ Partiel
9️⃣ Gestion des supports pédagogiques et consultation
-
Utilisateur : Professeurs, Administrateurs, Étudiants
-
Besoin : Ajouter et consulter des fichiers et des liens aux cours
-
Couches concernées : Backend (API upload fichiers), Frontend (gestion des ressources), Base de données (
course_material) -
Technologies associées : AWS S3 / Firebase Storage, React Dropzone
-
Exercice associé : Upload et gestion des fichiers
-
Difficulté : 🟠 Moyen
-
Présence wireframes : ❌ Non identifié
-
Ajout :
-
Les élèves peuvent consulter les documents associés à leurs cours.
-
Interface pour visionner les fichiers ou les télécharger.
-
EPIC : Communication et notifications
🔟 Notifications et rappels
-
Utilisateur : Étudiants, Professeurs, Administrateurs
-
Besoin : Recevoir des rappels pour les sessions, les paiements et les modifications de planning
-
Couches concernées : Backend (système de notifications), Frontend (gestion des alertes), Base de données (
notifications) -
Technologies associées : WebSockets, Firebase Cloud Messaging, Email via SendGrid/Mailgun
-
Difficulté : 🟠 Moyen
-
Présence wireframes : ❌ Non identifié
EPIC : Déploiement et maintenance
1️⃣1️⃣ Stratégie de mise en production et tests
-
Tâches techniques :
-
Environnements de staging et production
-
Tests unitaires et d’intégration avec JUnit et Mockito
-
Monitoring des performances avec Prometheus / Grafana
-
Gestion des logs (Logback, ELK stack)
-
📌 Objectifs réalisés : ✅ Déploiement automatisé et sécurisé ✅ Surveillance et amélioration continue du service
🛠 Workflow technique :
-
Frontend : Build avec Vite et déploiement sur Vercel/Netlify.
-
Backend : Build Spring Boot, Docker, et hébergement sur AWS/DigitalOcean.
-
Base de données : Migration et réplication automatique avec Flyway.