← All projects

Web Applications · Education

EduFlow School Management

Fees, ledger, inventory and records for a Ghanaian school, with money handled the way an accountant would expect.

Status
Prototype
Year
2026
Role
Designer and developer
Client
Shared with permission

01

Overview

A Next.js front end for school administration. Fee balances are always derived from invoices and confirmed payments, never stored, and the general ledger and trial balance are derived and tested to balance and to reconcile to the fee subledger.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Recharts

02

The challenge

Schools juggle fees, guardians, stock and student records, and errors in money handling are expensive and hard to trace.

  • Keeping the ledger, the fee subledger and student balances consistent without storing the same number twice

03

System requirements

  • Fee billing with balances derived from invoices and confirmed payments
  • Derived general ledger and trial balance
  • One guardian account across several children, with a consolidated reminder
  • Stock tracking, for example textbooks received, issued and on hand
  • Role-based navigation, a preview-as-role switch and field-level gating of medical information
  • Defaults for Ghana: GHS currency and the Africa/Accra time zone
  • Business-rule tests against the data layer

04

Solution architecture

Content needed: architecture, drawn only from documented components

05

Implementation

  • School dashboard with fee collection rate, outstanding and overdue fees, expenditure, cash position and attendance. Seeded demo data.
    School dashboard with fee collection rate, outstanding and overdue fees, expenditure, cash position and attendance. Seeded demo data.
  • School Fees dashboard with total invoiced, confirmed collections, collection rate, reminders and a weekly collection trend. Seeded demo data.
    School Fees dashboard with total invoiced, confirmed collections, collection rate, reminders and a weekly collection trend. Seeded demo data.
  • Finance and accounting overview with income against expenditure and an expense breakdown. Seeded demo data.
    Finance and accounting overview with income against expenditure and an expense breakdown. Seeded demo data.

06

Technical decisions

  • Money is stored as integer minor units to avoid rounding errors
  • All pages read data through a single module, so a real backend can replace the seeded data in one place
  • Role gating in the UI is a mirror only. Real enforcement belongs on the server

07

Results and validation

Content needed: measured results with period and method. Never estimated.

Evidence

  • Tests check that the trial balance balances and reconciles to the fee subledger

08

Lessons learned

Content needed: what you would do differently

Content checklist (remove once filled)

  • Permission to name the school. The public repository's name includes it, so no link is shown
  • A backend, database and sign-in. The current build is front end only, with seeded demo data
  • Any results, only with a period and method

09

Related work

Project 11 of 12