Case study · product published by Sanfytech

Madaris, our school management software for private schools in Morocco.

Pupils, timetables, a register taken for each lesson on the teacher's phone, invoices and reminders, a space for families. One instance per school, in French, Arabic and English. Sales go through madaris-maroc.com.

01/BackgroundWhere we started

A private school's daily life fits in a ring binder and two spreadsheets

We wrote Madaris from what schools described to us. For each problem, as they put it, what the application does today.

  1. 01Unpaid fees are tracked in a spreadsheet, and nobody knows who owes what.Monthly invoicing per family, payments allocated to the oldest invoices first, numbered receipts and credit notes, reminders in three languages.
  2. 02Parents hear about an absence in the evening, or the next day.The teacher takes the register at every lesson on their phone; the parent is notified the same day in the app and by e-mail.
  3. 03The administration works in Arabic, teaching is in French, and English is growing.Interface, e-mails, reminders and PDF documents in French, Arabic (right to left) and English, each person in their own language.
  4. 04A small school has no IT department.We host, back up and update the school's instance. The school opens a browser, with nothing to install on its computers.
Empty primary school classroom, yellow tables and chairs, green blackboard, morning light
Photo 01A classroom, illustrative photo. Camille Lemiale, Pexels.
02/What we builtDelivered so far

A complete business application, for every role in the school

Head, office staff, accountant, pastoral staff, teacher, parent and pupil: each sees what concerns them, in the same business application.

  • 01
    Pupils and families. Pupil file, guardians, siblings, services used, file import and export.
  • 02
    Timetables. One week per class, with no double booking of a teacher or a room, PDF export.
  • 03
    Register for each lesson. On the teacher's phone, with a same-day alert to parents.
  • 04
    Invoicing and reminders. Invoices, receipts, credit notes, families in arrears, reminders in three languages.
  • 05
    Dashboard. Collected, expenses, balance, overdue amounts, collection rate, review of the year.
  • 06
    Announcements and parent portal. The child's day, documents to download, absence notes submitted online.
  • 07
    Files ready for Massar. Lists and marks in the expected format, which the school uploads itself.
  • 08
    Audit log. Every sensitive action is logged, with the state before and after.
03/Four screensDemo school, data blurred

Four screens, actual size

Screenshots of the demo school: the figures are fictitious, and people's names, phone numbers and the school's name are blurred.

Madaris financial dashboard: amount collected, expenses and net balance for the month, overdue balance, amounts not yet due, collection rate, twelve-month curve
Screen 01The management dashboard, month of October. School name blurred in the left-hand column.

The school's month on one screen

The head opens Madaris on this page: what has come in, what has gone out, what is still owed, and the comparison with the previous month and the same month last year.

Madaris financial dashboard in Arabic, menu on the right, text running right to left: amount collected, expenses, net balance, overdue balance, twelve-month curve
Screen 02The same dashboard, in Arabic. The menu moves to the right, the figures remain readable. School name blurred.

The same page, in Arabic, right to left

The administration often works in Arabic, teaching in French. Each user chooses their language: the interface flips to right to left, and the e-mails, reminders and PDFs follow.

Weekly timetable of a first-year middle school class in Madaris, Monday to Saturday, with the rooms
Screen 03The timetable of a 1AC class (first year of middle school in Morocco), school year 2026-2027. On a phone, Monday and Tuesday mornings. Teachers' names blurred in the slots.

One week per class, with no double booking

The head builds the timetable slot by slot. The application refuses a slot if the teacher or the room is already taken. Each lesson then becomes a register to take.

Madaris phone screen, teacher area: taking the register, today's date, the teacher's lessons and the list of pupils for the lesson
Screen 04The teacher area on a phone. Names of the pupils and the teacher blurred.

The register, lesson by lesson, on the phone

Teachers see their lessons for the day. When one starts, the register opens: present, absent or late, pupil by pupil. From the first unexplained absence, the parent receives an alert the same day.

04/TechnologiesWhat we chose, and why

Written, hosted and run by the same people

Madaris is proof of what we offer our clients: writing software, hosting it and keeping it running over time.

  • InterfaceNext.js and MUI, in French, right-to-left Arabic and English.
  • ServerASP.NET Core API on .NET 10. The school's rules (fee scales, due dates, thresholds) are settings.
  • DatabasePostgreSQL. One database per school, backed up every night and handed back to the school if it leaves.
  • One instance per schoolNo school shares its database with another. Data about minors stays partitioned.
  • On a phoneInstalls from the browser like a shortcut. No app store, no updates for the school to make.
  • HostingOn our servers in France, monitored day and night, like everything we run.
05/Further readingThe product website

For a school, the Madaris website; for a project like this one, us

What next

A business application to write, host and keep running?

Madaris grew out of a specific line of work and its daily routine. Tell us about yours, and we will tell you what is feasible, with a timeline and a rough price.

Discuss your project

Reply within 24 working hours, from one of the two founders. Or by phone: +33 7 59 96 14 99.