
System architecture
University ERP
Seventeen modules from application to alumnus — the blueprint, and an honest account of how much of it stands today.
- 17
- Modules
- 0
- Built
- 9
- Partly built
- 8
- Planned
The spine
One path, and one gate on it
- Public Website
- Admissions Portal
- Finance Verification
- Registrar Approval
- Student ERP
Everything downstream of Registrar Approval exists because a student record was created there. That is why the whole system has exactly one place where a student account comes into being, and why no administrator creates one by hand.
One vocabulary
The universal status system
A record moves between Finance, the Registrar and the faculty. It only moves cleanly if all three read the same colour the same way, so there is one table and no module defines its own. Every chip carries its label as well as its colour — the colour is a shortcut for people who already know it, never the only thing carrying the meaning.
The forward path
- 1DraftGrey
The application has been started but not submitted. Only the applicant can see it.
- 2Awaiting paymentRed
Submitted, but the application fee has not been paid. Nothing moves until it is.
- 3Payment under verificationOrange
A payment has been recorded and Finance is checking the amount, reference, currency and whether it duplicates another.
- 4Payment verifiedBlue
Finance has confirmed the payment. This is the gate: the application becomes visible to the Office of the Registrar only now.
- 5Registrar reviewingYellow
The Office of the Registrar is examining qualifications, certificates, identity documents and eligibility for the programme.
- 6Additional documents requiredPurple
The Registrar has asked the applicant for further documents. The record stays in the Registrar’s queue so an applicant who never responds remains visible.
- 7Awaiting Admissions OfficeIndigo
The Registrar has verified the record and forwarded it to the Admissions Office, which makes the final assessment and admits.
- 8ApprovedGreen
Admitted. The student number is issued, the account created and the welcome email sent, all automatically.
- 9Conditionally admittedGreen, hatched
Admitted and studying, with named conditions to meet by a stated date. The conditions stay visible to the student, the adviser and the Registrar until each is discharged.
Outcomes
- RejectedDark red
The application was not successful. A reason is always recorded.
- DeferredBlack
Admission has been held over to a later intake at the applicant’s or the university’s request.
- GraduatedGold
The award has been conferred.
12 statuses in total. Dark red and red, and black and grey, are close enough that colour alone would not separate them for many readers — which is the reason every chip is labelled.
The system
Seventeen modules
- 1Partly built
Admissions Portal
Open to anyone. Where an application is created, paid for and tracked.
Applicant · Admissions Officer
Specified
- Create applicant account
- Online application
- Upload documents
- Programme selection
- Fee payment
- Application tracking
- Interview booking
- Admission letter download
Working today
- Online application, six steps, submitting to Admissions and writing a record
- Programme selection at application
- A published account of the pipeline and what every status means
Next
- Applicant accounts backed by auth, so an application can be saved and resumed
- Document upload against a Registrar’s request
- Online fee payment — currently paid outside the system and verified by Finance
- Admission letter as a generated PDF
- 2Partly built
Finance Department
Verifies application fees and, in time, owns every financial record in the university.
Finance Administrator · Finance Director
Specified
- Verify payment
- Reject payment
- Issue refund
- Generate invoice
- Print receipt
- Financial reports
- Revenue dashboard
- Outstanding fees
Working today
- Verify payment — reference, amount and currency, turning the record blue
Next
- Reject payment with a reason, returning the record to the applicant
- Refunds against the published refund schedule
- Invoices and receipts
- Revenue and outstanding-fee reporting
- 3Partly built
Office of the Registrar
Examines applications whose payment is verified, and decides them.
Registrar Administrator
Specified
- Approve
- Reject
- Request documents
- Defer admission
- Transfer programme
- Dashboard: waiting, approved today, rejected today, international, transfers, deferred
Working today
- Approve
- Reject with a recorded reason
- Request documents
Next
- Defer admission and transfer programme
- The dashboard counts, which need the data before they mean anything
- 4Partly built
Automatic Student Creation
What happens the instant the Registrar approves. Nothing here is created by hand.
Registrar Administrator
Specified
- Student profile
- Student number
- Username and temporary password
- Student email
- Programme, department, faculty
- Fee structure
- Academic calendar
- Timetable
- LMS account
- Library account
- Hostel record
- Medical record
- Digital student ID
Working today
- Student number in the ICOF{year}{00000} format
- Auth account with username and temporary password
- Programme carried from the application
- Welcome email with all of the above
Next
- Everything else on the list. Each needs the module that owns it to exist first — there is no fee structure to attach until the Finance module holds one, and no timetable until the Academic Office builds one.
Specified
- Dashboard
- Profile
- Programme and current semester
- Credit hours
- Academic advisor
- Announcements
- Upcoming exams
- Outstanding fees
- GPA
- Notifications
Working today
- Dashboard, profile, courses, results and GPA
- Transcript and certificate
- Announcements, forum, assignments, timetable
- Applicants are turned away and sent to the Admissions Portal
Next
- Academic advisor allocation
- Outstanding fees, once Finance holds a ledger
- 6Planned
Course Registration
The student clicks once; the system knows their faculty, programme, level and semester, and checks the rules.
Student
Specified
- Automatic course list from programme and level
- Prerequisite checking
- Outstanding fee checking
- Programme rules
- Maximum credit checking
- Automatic approval when valid
Working today
Nothing yet.
Next
- Prerequisites are not recorded against any course yet — this module cannot check what does not exist
- Maximum credits per level: the regulations give 10–12 subjects a year, which needs expressing in credits
- A fee ledger to check against
Specified
- Attendance
- Upload notes
- Assignments
- Exams
- Marks and grade submission
- Student messaging
- Office hours
- Research
Working today
- Grade book
- Assignments
- Question bank
- Learning analytics
Next
- Attendance
- Course allocation, so "assigned courses" is a real constraint
- Office hours
- 8Planned
Head of Department Portal
Allocates teaching and monitors it.
Head of Department
Specified
- Assign lecturers
- Approve course allocation
- Monitor teaching
- Department reports
- Student statistics
- Research outputs
Working today
Nothing yet.
Next
- Departments are not yet modelled as records with a head, staff and courses attached
- 9Planned
Dean Portal
Faculty-wide view: students, staff, departments, research, revenue, retention.
Faculty Dean
Specified
- Total students, lecturers, departments
- Research and revenue
- Graduation and admissions
- Retention
- Faculty reports
Working today
Nothing yet.
Next
- Every figure here must be derived from records the system holds. Until enrolment, staffing and revenue are real data, a dean’s dashboard would be decoration.
- 10Partly built
Examination Office
From timetable to degree classification to the graduation list.
Registrar Administrator · Academic Office
Specified
- Exam timetable
- Invigilators
- Question papers
- Moderation
- Grade approval
- Transcript generation
- Degree classification
- Graduation list
Working today
- Online examinations
- Question bank
- Transcript generation
Next
- Degree classification bands have not been adopted — this module cannot classify a degree until the Academic Board says what a first, a merit or a distinction is
- Moderation and grade approval workflow
- Invigilator scheduling
- 11Planned
Library
Borrowing and cataloguing for students; inventory and acquisitions for librarians.
Student · Library Staff
Specified
- Borrow and reserve books
- Digital library and research databases
- Citation tools
- Reading lists
- Book inventory and cataloguing
- Loans, fines and acquisitions
- Digital repository
Working today
Nothing yet.
Next
- The university has not yet described what its library holds — see the Academic Catalog, Part X. A library module with no catalogue behind it is a login screen.
Specified
- Courses
- Assignments
- Forums
- Videos
- Live classes
- Quizzes
- Grades
- Certificates
Working today
- Courses, assignments, forum, quizzes, grades and certificates, all inside one login
Next
- Video hosting and live classes
- Migration of the legacy Chamilo content
- 13Planned
Hostel
Applications, allocation, maintenance and inspection.
Student · Student Affairs
Specified
- Applications
- Room allocation
- Maintenance
- Payments
- Visitors
- Room inspection
Working today
Nothing yet.
Next
- The published fee schedule quotes student housing at USD 60–85 a month but the university has not described its housing stock. Rooms must be modelled before they can be allocated.
- 14Planned
Human Resources
Employees, contracts, payroll, leave, performance and promotion.
System Administrator
Specified
- Employees and recruitment
- Contracts
- Payroll
- Leave
- Performance
- Promotion
- Training
Working today
Nothing yet.
Next
- Payroll holds salary and bank data and is the highest-risk module in this list. It should not be built until access control and audit logging are settled, and probably not before an external review.
- 15Planned
Research Office
Projects, grants, publications, ethics and postgraduate supervision.
Registrar Administrator · Faculty Dean
Specified
- Projects and grants
- Publications and journals
- Ethics approval
- Conferences
- Postgraduate supervision
- Research repository
Working today
Nothing yet.
Next
- Ethics approval needs the procedure and the committee that grants it — recorded as missing in the Academic Catalog
- The six proposed journals need editors, boards and ISSNs before the module has anything to manage
Specified
- Graduation records
- Employment
- Donations
- Mentorship
- Networking
- Certificates
- Transcript requests
Working today
- Public alumni page
- Credential verification
Next
- The association itself has no constitution or officers yet — see the documents register
- 17Planned
Chancellor and Vice Chancellor Dashboard
Real-time institutional statistics for the two executive offices.
Chancellor · Vice Chancellor
Specified
- Total students, admissions today, pending applications
- Revenue today, outstanding fees
- Graduation candidates
- Academic staff, international students, online students
- Campuses, research projects, publications
Working today
Nothing yet.
Next
- Every number on this dashboard must be a live count from the system. The figures in the specification are illustrative — 12,845 students, $14,280 revenue today — and must never be typed in as placeholders. A dashboard showing invented numbers to the Chancellor is worse than no dashboard, and the site already carries four unattributed statistics that need the same treatment.
Who sees what
The role hierarchy
Fourteen roles, in the order the university sets them. Seniority governs what a role sees; it does not govern what a role may do. The Chancellor and the Vice Chancellor sit at the top of this list and neither can admit a student or verify a payment — an institution where they could would have no separation of duties left, whatever its organisation chart said.
Chancellor
5 capabilities
Vice Chancellor
7 capabilities
Registrar Administrator
14 capabilities
Finance Director
5 capabilities
Faculty Dean
4 capabilities
Head of Department
7 capabilities
Programme Coordinator
4 capabilities
Lecturer
5 capabilities
Finance Administrator
4 capabilities
Admissions Officer
7 capabilities
Library Staff
1 capabilities
Student Affairs
2 capabilities
Student
6 capabilities
Applicant
3 capabilities
Where this lives. The hierarchy and the capability matrix are held in src/lib/roles.ts, and the status table in src/lib/status.ts. Every screen asks those files rather than testing a role name inline, so a permission is decided in exactly one place and a colour means one thing across the whole system.
Related