Bubble
Usually replies in seconds
Today
←Back to Projects
Moroccan Educational System screenshot 1

Moroccan Educational System

Period2025
TeamSolo developer
Contribution100%
RoleData engineer: collected, cleaned, structured, and validated Morocco's national curriculum and exam frameworks into open-source JSON datasets.

A standardized, developer-ready JSON dataset of the Moroccan national educational curriculum, covering continuous assessments (Devoirs Surveillés) and official certifying unified exam frameworks for both Collège and Lycée levels. Released as open-source under the MIT license to empower EdTech applications, study planners, and GPA calculators.

PythonJSON SchemaData ModelingWeb ScrapingAutomationMIT Open Source

Key Contributions & Results

Key Contributions
  • Consolidated over 680 lessons across Moroccan middle and high school streams (including standard MEN tracks and International French Option / BIOF).
  • Structured three core relational JSON datasets: curriculum.json (lesson-by-lesson subject hierarchy), devoirs.json (continuous assessment exam breakdowns for DS1-DS3), and exams.json (national and regional exam specifications).
  • Codified official certifying exam rules, including coefficients, testing durations, and the Baccalaureate grade weighting algorithm (50% National + 25% Regional + 25% Continuous Assessment).
  • Created Python automated validation scripts (validate.py) enforcing schema constraints and preventing data regressions.
Results
  • An open-source, machine-readable dataset eliminating manual syllabus scraping for educational developers building revision apps, GPA tools, and learning management systems.

Troubleshooting

Normalizing Disparate Ministry Syllabi into Validated Relational JSON Schemas

Problem Discovery
  • Moroccan Ministry of National Education (MEN) curriculum guidelines existed only in non-standardized PDF formats with conflicting subject terminology between standard Arabic streams and International Option (BIOF) French curricula. Inconsistent coefficient definitions risked incorrect GPA calculations in downstream apps.
Solution Process
  • Designed three strict relational JSON schemas (curriculum.json, devoirs.json, exams.json).
  • Built an automated Python validation test harness (validate.py) enforcing schema constraints, unique lesson IDs, valid branch mappings, and mathematically verified Baccalaureate formula weights (50% National + 25% Regional + 25% Continuous Assessment).
  • Implemented comprehensive CI test workflows to validate JSON syntax, required fields, and integrity on every push.
Result
  • A clean, regression-tested open-source dataset with automated CI validation covering all high school streams.
💡Lessons Learned
  • Open data engineering requires programmatic schema validation contracts before publishing to ensure downstream consumer reliability.