CAS - Training Center Accounting & Student Management System
Education & Training Centers · 2025

CAS - Training Center Accounting & Student Management System

Academic hierarchy from universities to courses, student enrollment with an automatic doctor, center and platform revenue split, payments and receipts, doctor portal with earnings, reception desk, four report dashboards and 85 permissions across 5 roles

PlatformWeb (.NET 9, Angular 20)
Stack.NET 9, Angular 20, SQL Server
Visit Live App

A training center in Mansoura offers exam-prep courses for students of seven universities, taught by more than fifty visiting doctors who each take a share of every enrollment fee.

The center ran on a receipt book and three spreadsheets.

Reception enrolled a student, wrote a paper receipt, and someone later re-typed it.

At the end of each month the owner spent days reconciling which student paid what, how much of each payment belonged to the doctor, how much to the center, and how much was still owed, and the numbers never matched the doctors' own notes.

Doctors phoned reception to ask how many students they had and what they had earned.

Nobody could answer which courses actually made money or which semester was falling behind.

A student's balance from a previous course silently disappeared.

Access was all or nothing: whoever had the spreadsheet could change anything, with no trace of who did it.

We built CAS on a .NET 9 Clean Architecture API with 102 CQRS handlers and an Angular 20 client with 68 components and a NSwag-generated typed client.

The academic structure is modelled end to end: universities, faculties, levels, semesters and academic years, with courses priced and assigned to doctors.

When reception enrolls a student, the system snapshots the course price and splits it into the doctor share, the center share and the platform share, then tracks total paid, remaining balance, due date and settlement status per enrollment.

Payments are recorded with method, notes and a receipt stored in MinIO, and are applied first to the platform share and then to the student balance.

A distribution journal recognizes the doctor and center shares on the recognized date so month-end reconciliation is a query, not a project.

Doctors get their own portal with their courses, students and earnings.

Reception has a dedicated desk that finds a student, enrolls them and shows today's statistics.

Management sees four report dashboards: financial with revenue distribution and settlement breakdown, students with paid, partial and overdue counts, courses with revenue and collection rate per course, and doctor earnings with a monthly chart.

Access is governed by 85 permissions across 5 roles, including a doctor-receptionist role that lets an assistant work on behalf of a specific doctor through receptionist assignments, and every change is written to an audit log.

The interface runs in Arabic and English.

Results

01

16 domain entities, 102 CQRS handlers and 85 API operations on .NET 9 Clean Architecture with a NSwag-generated Angular 20 client

02

85 granular permissions across 5 roles: super admin, administrator, doctor, doctor receptionist and receptionist

03

Full academic hierarchy: universities, faculties, levels, semesters, academic years and priced courses assigned to doctors

04

Enrollment engine that snapshots the course price and splits it into doctor, center and platform shares with balance, due date and settlement status

05

Payments with method, notes and MinIO-stored receipts, applied to the platform share first and then to the student balance

06

Distribution journal recognizing doctor and center shares on the recognized date for query-based month-end reconciliation

07

Doctor portal with the doctor's own courses, students and earnings

08

Reception desk with student lookup, quick enrollment and daily statistics, plus receptionist-to-doctor assignments

09

Four report dashboards: financial, students, courses and doctor earnings, with charts and export

10

Audit log on every change, JWT authentication with refresh tokens and permission checks at route and API level

11

Bilingual Arabic and English interface with 68 Angular components

Technology Stack

.NET 9Angular 20SQL ServerEntity FrameworkMediatRFluentValidationNSwagAngular MaterialMinIOASP.NET IdentityJWTChart.jsDockerNginx

Have a similar project in mind?

Let's talk about how we can build it for you.

Start a Project

Want to help build the next one? See open engineering, design, and sales roles →