Skip to content
Stephan.

03Freelancing

Student Management System

Non-Profit Education Platform

Student records, attendance tracking, and progress monitoring for a non-profit education programme, with role-based access.

Company
Freelance Client
Role
Freelance Full-Stack Developer
Category
Full-Stack
012400×1000

/images/work/student-management/cover.webp

Full-bleed project cover. Wide editorial crop of the interface or its subject matter.

01Impact

By the numbers.

RBAC

Role-based access

Live

Real-time sync

Prod

In production

Auth

Secured sign-in

02Overview

The brief.

A non-profit running education programmes needed to move student records off spreadsheets. The system covers enrolment records, attendance, and progress monitoring, with administrative tooling scoped by role so volunteers, teachers, and administrators each see only what they should.

Problem

Spreadsheet-based records break down as soon as more than one person maintains them — no access control, no audit of who changed what, and no reliable way to see attendance trends across a cohort.

Solution

A Firebase-backed application with authentication and Firestore security rules enforcing role boundaries at the data layer rather than only in the UI, so access control holds regardless of how a request arrives.

03Features

What it does.

01

Student records

Enrolment details and history as the single source of truth for each student.

  • Firestore
  • Next.js
02

Attendance tracking

Session-level attendance capture that aggregates into cohort-level views.

  • Firestore
  • React
03

Progress monitoring

Per-student progress recorded over time rather than as a single current snapshot.

  • Firestore
04

Role-based access

Permissions enforced in Firestore security rules, so the boundary holds at the data layer, not just the interface.

  • Firebase Auth
  • Security rules
05

Real-time updates

Multiple staff working simultaneously see each other’s changes without refreshing.

  • Firestore listeners

04Architecture

How it's built.

frontend

  • Next.js
  • React
  • Responsive layouts

backend

  • Firebase
  • Firestore
  • Cloud-hosted

security

  • Firebase Auth
  • Firestore security rules
  • Role claims

data

  • Students
  • Attendance
  • Progress records

05Challenges

What was hard.

01

Access control with no backend server to enforce it

Pushed authorisation into Firestore security rules so permissions are evaluated server-side on every read and write, independent of the client.

02

Concurrent edits by multiple staff

Real-time listeners so the interface reflects the current state rather than a stale local copy.

06Gallery

A closer look.

021600×1200

/images/work/student-management/01.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

031600×1200

/images/work/student-management/02.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

041600×1200

/images/work/student-management/03.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

051600×1200

/images/work/student-management/04.webp

Interface detail. Crop tight on one screen or one interaction — not a full-page screenshot shrunk down.

07Stack

Built with.

  • Next.js
  • Firebase
  • Firestore
  • Authentication

Outcomes

  • Student records moved off spreadsheets into a permissioned system
  • Attendance and progress tracked per student over time
  • Access boundaries enforced at the data layer