Skip to content
Shashi Gyawali
← All work

Case study 05 / BLEMS / Local government

One platform, many municipalities

The Basic Level Examination Management System processes and publishes school exam results for local government in Nepal. I led the work that took it from one deployment per body to a single multi-tenant platform.

Role

Full-stack dev & tech lead

Years

2021 – 2022

Stack

Next.js, GraphQL, Prisma, MySQL, Redis

Scope

Architecture, RBAC, dashboards

The problem

Each municipality wanted the same thing: collect marks from its schools, process results, publish them, generate statistics. And each one meant another copy of the app to configure, host and patch. Access rules differed per body, and the data was sensitive.

What I built

  • A multi-tenant data model and request pipeline so every municipality ran on one deployment with isolated data and its own configuration.
  • Dynamic role-based access control: the highest authority in each body could redefine what every other role could do, without a developer in the loop.
  • Result processing, statistics and reporting dashboards in React with Apollo, built for staff who use a computer twice a year.
  • Code standards and review as tech lead across the team, plus the infrastructure cost work that came with consolidating deployments.

Result

1→N
Tenants per deployment
RBAC
Configurable per body
GOV
In production use
Next caseAustralian Pharmacist CPD01