2019 to present / Education

RASMS: school management that works offline

RASMS, Roger's Advanced School Management System, replaced a school's hand-made reports and separate spreadsheets with one system for marks, discipline, permissions and fees, built to run offline on modest computers.

My role: Sole designer, developer and maintainer. Status: In use at one school since February 2020.

Share: LinkedIn / WhatsApp / X / Facebook / Email

Challenge
Teachers made student reports largely by hand, with errors, and the school could not rely on internet or powerful computers.
Solution
An Excel reporting tool first, then a web system packaged as an offline Windows installer, with encrypted .rasms backups to move data between machines.
Impact
In use at Musamvu TVET School since February 2020, registering about 500 students a year, and online since January 2023 so teachers can work remotely.

Context

In 2019 I was a software development student at Musamvu TVET School in Ngoma District, Eastern Province, Rwanda. Report cards at the school were made largely by hand. It took teachers a long time, and the reports that reached students sometimes contained errors.

Reports were only one part of the problem. Marks, discipline, permissions and school fees were handled on paper and in separate Excel sheets that did not talk to each other. The school also had no reliable internet connection, and some of its computers had little processing power.

What I built

RASMS grew in three steps.

In July 2019 I built a report-making tool inside Excel, using built-in functions and formulas, because that is where the teachers already worked. I published video guides for it on 23 July and 4 November 2019, the second one covering the full-year report.

On 8 February 2020 I presented the web version, RASMS (Roger's Advanced School Management System), to the school's general parents' meeting. It brought several jobs into one system:

  • marks distribution and report generation;
  • behaviour and discipline reporting;
  • student permissions management;
  • finance management, connected to everything else;
  • SMS notifications to parents;
  • collaboration between teachers, with a separate login and access level for each one;
  • QR codes on documents to identify what the system produced.

When schools reopened on 2 November 2020, I packaged it as an offline Windows installer. Later, in January 2023, I put it online for the school at musamvutss.hdev.rw, through HDEV TECH.

The hard part

Running a web system without the web. RASMS was a web application, but the school could not count on internet access. Asking teachers to install a web server, a database and an application by hand was not realistic. I bundled the application, the web server and the MySQL database into a single installer, my first ever, so a teacher could run one setup file and have a working system. Offline, SMS notifications to parents had to wait; everything else worked.

Once teachers were using it, crashes and freezes were reported. I was the only maintainer, so every report came to me, and I worked overnight to fix them. By the end of the second term, which ran from November 2020 to April 2021, RASMS had reached version 3.

Computers too slow to produce reports. Then I found that some teachers' computers could not generate reports at all. I could not replace the computers, so I changed the question from "how do I make this machine produce reports?" to "how do I move this machine's data to one that can?"

I built a backup feature that exports the whole database to one file with its own extension, .rasms. That file holds personal information about around 500 students, so I encrypted the backup with AES and used MD5 and SHA-256 hashing in the process, with the aim that a lost or copied file could not be read with ordinary tools. A teacher on a weak computer now enters data and creates a backup, and a stronger computer restores it and produces the reports. In the third term of 2021 I released version 5, which added processing improvements on top of this workflow.

Results

  • The general parents' meeting agreed on 8 February 2020 that the school would use RASMS, and it has been in use since then.
  • For the Excel tool, my first agreement for software I built was that the school would pay half of my school fees. For the web system, the school waived my fees for the year.
  • The school registers about 500 students each year in RASMS.
  • The headteacher receives backup files and can open them to review school data without depending on any one teacher's computer.
  • Since January 2023, teachers can enter and review data remotely, and authorised users can reach it from anywhere.

RASMS remains a system built for and used by that one school.

What I would do differently

I was the only maintainer for the offline releases, and overnight fixes kept the school running but showed me the risk. I would bring a second person into the project early, so that keeping it healthy did not depend on one student working at night.

Going online brought responsibilities the offline version never had: hosting, access control over the internet, and protecting student data on a public server. I would treat access control and data protection as design requirements from the first version, not as something the online release introduced.

Stack and role

  • Role: sole designer, developer and maintainer.
  • Team: none for the build; I worked with the school's teachers and headteacher as users.
  • Stack: PHP, MySQL, JavaScript, Excel, a Windows installer, SMS notifications, and encrypted backup files.
  • Timeframe: 2019 to the present.

PHP / MySQL / JavaScript / Excel / Windows installer / SMS

Visit the live system