Skip to content

E.D.G.E school management system

School platform covering registration, attendance, marks, fees and timetables, with a DDD backend and a React admin

Domain-driven API covering academic years, attendance, students, guardians, grades and fees1 / 3

E.D.G.E brings a school's day-to-day work into one system: registering students, taking attendance, recording marks, billing fees and building timetables. I worked across the backend and the admin app and ran the delivery plan for the five-month build.

The problem

Schools kept student records, attendance, marks and fee payments across paper registers and spreadsheets. Setting up a new academic year meant rebuilding classes, sections and timetables by hand.

What I built

A NestJS backend organised by domain (students, teachers, guardians, classes, grades, registration, attendance, marksheets, timetables, academic years, fees, notices) using CQRS, with tokens validated against the company identity server. A React admin gives each role its screens, with an academic-year setup wizard, drag-and-drop scheduling and Excel and PDF exports.

Results

  • Delivered on a five-month schedule with a multi-developer team.
  • Staging deploys automatically on every push to the develop branch through GitHub Actions and Traefik.
  • Wrote the admin app's coding standards and layout architecture notes used by the rest of the team.

Features

  • Student, parent, teacher and staff records
  • Registration and class assignment
  • Attendance, exams and mark lists
  • Fee structures, discounts and payments
  • Academic calendar and year setup wizard
  • Timetables with drag-and-drop ordering
  • Notice board and reports with Excel and PDF export

How it's put together

Domain-driven NestJS backend with a schema-driven code generator and an internal event system, fronted by a TanStack Router admin app that signs in through the Genesis identity server.

  • CQRS command and query handlers per module
  • JWKS-based JWT validation against the identity server
  • Scheduled jobs for recurring academic tasks
  • PostgreSQL with pgAdmin in Docker Compose, Traefik on the staging VPS
  • Web apps2024–2025

    Dallol Talent

    UK-based client

    Remote talent marketplace for the European market, built from scratch by a two-person team

    Team buildReactReduxTypeScript+6
  • Soko admin dashboard Products page listing eight demo coffee products such as Yirgacheffe Grade 1 Washed, Sidamo Natural and Guji Honey Process with slug, enabled status and row actions, beside the Platform and Administration sidebar
    Backends & APIs2025

    Soko Commerce

    Headless commerce on .NET 9 with CQRS, its own identity server, search and durable workflows

    Contributor.NETC#EF Core+15
  • Church analytics dashboard with member, group, attendance-rate and new-member totals, messaging counts and a weekly attendance chart
    Web apps2026

    Church management platform

    Multi-tenant church management: members, households, attendance, forms, analytics and WhatsApp messaging

    Solo buildNext.jsReactTanStack Query+11