Une plateforme numérique moderne, multi-tenant et open source pour la gestion scolaire au Togo 🇹🇬
Le système éducatif togolais fait face à des défis majeurs : gestion manuelle des inscriptions, suivi papier des notes et absences, manque de transparence dans les paiements scolaires, et absence d'outils numériques adaptés au contexte local.
SGS-Togo est une solution informatique conçue pour répondre à ces problématiques en offrant une plateforme centralisée, accessible et adaptée aux réalités togolaises (support Mobile Money, fonctionnement en zones à faible connectivité, interface multilingue).
- Digitaliser la gestion des écoles togolaises (publiques et privées)
- Centraliser les données scolaires (élèves, enseignants, notes, absences, paiements)
- Automatiser la génération des bulletins, rapports et statistiques
- Faciliter la communication entre écoles, enseignants et parents
- Intégrer les solutions de paiement locales (T-Money, Flooz)
- Offrir une architecture multi-tenant (1 école = 1 tenant)
| Rôle | Fonctionnalités |
|---|---|
| 🏫 Administrateur | Gestion globale, configuration système, statistiques nationales |
| 👨🏫 Directeur d'école | Supervision de l'école, validation, rapports |
| 👩🏫 Enseignant | Saisie des notes, gestion des absences, emploi du temps |
| 👨👩👧 Parent | Suivi des résultats, paiements, notifications SMS |
| 🎓 Élève | Consultation des notes, emploi du temps, bulletins |
- 🔐 Identity — Authentification, autorisation, gestion des rôles (JWT)
- 🏢 Multitenancy — Isolation des données par école (Finbuckle)
- 📋 Auditing — Traçabilité complète des actions
- 🏫 SchoolManagement — Écoles, classes, matières, années scolaires
- 🎓 StudentManagement — Élèves, inscriptions, parents, transferts
- 👩🏫 TeacherManagement — Enseignants, affectations, qualifications
- 📊 GradeManagement — Notes, moyennes, bulletins PDF, classements
- 📅 AttendanceManagement — Présences, absences, notifications parents
- 💰 PaymentManagement — Frais de scolarité, Mobile Money (T-Money/Flooz), reçus
- 📆 ScheduleManagement — Emplois du temps, créneaux horaires
┌─────────────────────────────────────────────────────────┐
│ API Gateway │
│ ASP.NET Core Web API │
├─────────────────────────────────────────────────────────┤
│ Modules métier │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ School │ │ Student │ │ Teacher │ │ Grade │ │
│ │Management│ │Management│ │Management│ │Management│ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │Attendance│ │ Payment │ │ Schedule │ │
│ │Management│ │Management│ │Management│ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────────────────┤
│ Building Blocks (FSH) │
│ Core │ Persistence │ Web │ Jobs │ Eventing │ Shared │
├─────────────────────────────────────────────────────────┤
│ Infrastructure │
│ PostgreSQL │ Redis │ Hangfire │ Serilog │ Docker │
└─────────────────────────────────────────────────────────┘
| Composant | Technologie |
|---|---|
| Framework | .NET 10 / ASP.NET Core |
| Architecture | Clean Architecture / Modular Monolith |
| Base de données | PostgreSQL |
| ORM | Entity Framework Core |
| Authentification | JWT + ASP.NET Identity |
| Multi-tenancy | Finbuckle |
| Background Jobs | Hangfire |
| Génération PDF | QuestPDF |
| Notifications SMS | Twilio |
| Paiement Mobile | T-Money / Flooz API |
| Logging | Serilog + OpenTelemetry |
| Cache | Redis |
| Conteneurisation | Docker + Docker Compose |
| CI/CD | GitHub Actions |
| Documentation API | Swagger / OpenAPI |
Le système supporte le parcours scolaire togolais complet :
| Cycle | Niveaux |
|---|---|
| 🟢 Primaire | CP1, CP2, CE1, CE2, CM1, CM2 |
| 🔵 Collège | 6ème, 5ème, 4ème, 3ème |
| 🟣 Lycée | 2nde, 1ère, Terminale |
- .NET 10 SDK
- Docker Desktop
- PostgreSQL 16+ (ou via Docker)
# 1. Cloner le projet
git clone https://github.com/jeandocker19/sgs-togo.git
cd sgs-togo
# 2. Démarrer les services (PostgreSQL, Redis) via Docker
docker-compose up -d
# 3. Restaurer les dépendances
dotnet restore src/FSH.Framework.slnx
# 4. Lancer l'application via Aspire
dotnet run --project src/Playground/FSH.Playground.AppHost
# 5. Ou lancer l'API seule
dotnet run --project src/Playground/Playground.Api- 🌐 API Swagger :
https://localhost:5285 - 📖 Documentation API : endpoints sous
/api/v1/...
sgs-togo/
├── src/
│ ├── BuildingBlocks/ ← 🧱 Fondations (Core, Persistence, Web, Jobs, Cache...)
│ ├── Modules/
│ │ ├── Auditing/ ← 📋 Audit (hérité FSH)
│ │ ├── Identity/ ← 🔐 Identité (hérité FSH)
│ │ ├── Multitenancy/ ← 🏢 Multi-tenant (hérité FSH)
│ │ ├── SchoolManagement/ ← 🏫 Gestion des écoles [NOUVEAU]
│ │ ├── StudentManagement/ ← 🎓 Gestion des élèves [NOUVEAU]
│ │ ├── TeacherManagement/ ← 👩🏫 Gestion des enseignants [NOUVEAU]
│ │ ├── GradeManagement/ ← 📊 Notes et bulletins [NOUVEAU]
│ │ ├── AttendanceManagement/ ← 📅 Absences/Présences [NOUVEAU]
│ │ ├── PaymentManagement/ ← 💰 Paiements Mobile Money [NOUVEAU]
│ │ └── ScheduleManagement/← 📆 Emplois du temps [NOUVEAU]
│ ├── Playground/ ← 🎮 API de référence + Blazor UI
│ ├── Tests/ ← 🧪 Tests unitaires et d'architecture
│ └── Tools/ ← 🛠️ Outils utilitaires
├── terraform/ ← ☁️ Infrastructure as Code
├── docker-compose.yml ← 🐳 Conteneurisation
└── README.md ← 📖 Ce fichier
Les contributions sont les bienvenues ! Consultez les issues pour voir les tâches disponibles.
- Forkez le projet
- Créez votre branche (
git checkout -b feature/mon-module) - Committez vos changements (
git commit -m 'feat: ajout module X') - Poussez sur la branche (
git push origin feature/mon-module) - Ouvrez une Pull Request
Ce projet est sous licence MIT — basé sur Fullstack Hero .NET Starter Kit.
- Fullstack Hero pour le starter kit .NET
- La communauté open source togolaise 🇹🇬
- Tous les contributeurs du projet
Fait avec ❤️ pour l'éducation au Togo 🇹🇬