Sanoo Solutions · 2026 · In production
Daara
Online school enrollment with fees paid by Wave or Orange Money, live one week after the first commit, on plain shared hosting.
- First commit to production
- 1 week
- September 28 → October 4, 2026
- Architecture decisions
- 25
- documented ADRs
- Open-source contributions
- 5
- fixes submitted to the Gibbon project
- Role
- Design and development
- Duration
- Since September 2026
- Stack
- PHP 8.2 · Gibbon · MySQL · Wave · Orange Money · o2switch
Daara · enrollment
- Parent :
I’d like to enroll my two children, how do I do it?
- School :
You can do it online or in person. Once the application fee is paid, the school reviews the file, and then you can enroll your children.
Context
Daara is a Sanoo Solutions product for schools. A parent receives an enrollment link, fills in a multi-step form and pays the application fee with Wave or Orange Money: a direct link on a phone, a QR code on a computer. Monthly fees are then tracked in the Finance module.
The problem
Three constraints framed the project. The school needs a real school management system, not a standalone form. Hosting is shared: no Docker, no queue, no always-on process. And a payment must never be counted twice, nor treated as successful without proof.
My approach
Building on Gibbon rather than reinventing it. Gibbon is an open-source school management platform. Daara is an overlay: a mobile money payment module and a theme. Gibbon’s core is only changed through patches listed one by one, so its updates can still be followed.
A payment only counts once it’s proven. Every payment attempt is recorded as an intent, which serves as the idempotency key. A payment is only confirmed by a check against the provider’s API or by a signed webhook. Providers sit behind a common interface, with an HMAC-signed simulator to develop without real money.
Choosing restraint. No front-end framework, no microservices, no queue: whatever the hosting can’t run, the code doesn’t assume. Twenty-five architecture decisions document these choices.
Moving forward without waiting for keys. Until the merchant verification documents come through, direct API collection is ready but switched off: parents pay through a Wave merchant link or an Orange Money QR code, and the school confirms.
Giving back to open source. Bugs found in Gibbon during the project were reported upstream: five fixes submitted to the project in October 2026.
What changed
Daara has been live since October 4, 2026, one week after the first commit.
What I took away
The fastest code to ship is the code you don’t write: by building on Gibbon, Daara went live in one week, and the fixes went back to the project.