The currency is XAF, and it has no minor unit
Amounts are stored as whole francs. Writing "FCFA 25,000.00" is wrong, and a system that treats every currency as cents gets it wrong in every column at once.
About
EduOnPoint is a school management system for Cameroon schools, nursery through high school. We built it around constraints that bite in Douala and Bamenda and go unnoticed where most school software is written.
Not features. Constraints — the ones that bite in Douala and Bamenda and go unnoticed where most school software is written.
Amounts are stored as whole francs. Writing "FCFA 25,000.00" is wrong, and a system that treats every currency as cents gets it wrong in every column at once.
So a parent signs in with the phone number the school already holds. The phone column carries no unique constraint, because two parents share one handset often enough here that the constraint would block the second enrolment.
Mobile data runs around US$1.63 a gigabyte, and Cameroon is about 83% Android. So the parent portal dropped its CSS framework, inlines its icons, and installs from the browser instead of asking a family to find a store listing.
Anglophone, francophone and technical ladders are modelled separately: their own class levels, their own mark scales, their own grade bands and their own report card layouts.
PHP 8.2 and MariaDB, no Composer and no npm. A school's IT contact can open a file and read what it does, and the thing can be deployed to ordinary shared hosting by somebody who has never heard of a bundler.
Tell us about your school. We answer on WhatsApp fastest.
Registration creates an empty school that only you can see. Nothing is shared with any other school on the platform, and there is nothing to cancel.