← All projects

BUSINESS TOOLS / WEB PROJECT

SchoolSystem

School Management System for Nigerian Schools

schoolos.oyibo.com.ng
Lagoon Heights Academy, a fictional SchoolSystem demonstration, with a green and gold school identity, photographic welcome, learning links and admissions entry points
SchoolSystem connects a branded school website with role-based workspaces. Lagoon Heights is one of the two example schools in the live demo.
Open full-resolution image (opens in a new tab)

A welcoming school website. A focused workspace for every role. SchoolSystem connects admissions, learning, families, finance and the practical details of the school day. Built for Nigerian nursery, primary and secondary schools, it brings shared records, school branding and NGN finance together. Teachers work with their classes, parents follow their children’s progress, and school teams handle fees and daily operations with clear review steps. Explore two fictional schools and five role-based workspaces in the live demo. Real-school setup, provider activation and pilot review are separate rollout steps.

PROJECT SCOPE

  • Integrated school website, administration and family ecosystem
  • School branding, public CMS, policies and consent-aware media
  • Online enquiries, applications, offers and enrollment
  • Applicant fees and secure processing-payment links
  • Student, family, staff and campus records
  • Academic planning, attendance, homework and results
  • Verified parent, student and employee access
  • Clubs, competitions, events, trips and permissions
  • Installment fees, scholarships, discounts and collections
  • Double-entry accounting, reconciliation and opening migration
  • Purchasing, suppliers, inventory and fixed assets
  • Staff leave, teaching cover and Nigerian payroll workflows
  • Transport, boarding, library, meals and early-years care
  • Restricted health, authorised pickup, visitors and incidents
  • Communication, operational automation, exports and audit
  • Modular access, onboarding and fixed-term Oyibo package quotes
Explore the SchoolSystem demo (opens in a new tab)

01 / THE BRIEF

A clear purpose.

A school needs more than a website and a collection of disconnected spreadsheets. The brief was to connect the public school identity with admissions, student records, teaching, family communication, fees and day-to-day administration. The experience needed to work for Nigerian private schools, with flexible class structures, multiple campuses and access shaped around each person’s responsibilities. Families should see a clear journey; staff should work from shared records.

02 / THE APPROACH

Design meets function.

Start with the school’s own identity, then connect the work behind it. A branded website and editable public pages lead into admissions and enrollment. From there, role-based workspaces bring learning, family access, finance and school operations together. Review steps are part of the design: staff verify family relationships, finance confirms payments, and authorised people approve publication and sensitive decisions. Tasks and notifications connect the workflow while preserving those checks. The hosted demo uses fictional records so visitors can explore the product.

03 / THE EXPERIENCE

Built around real tasks.

A school website connects named colour palettes, content drafts and approved publication.
01

A school website with its own identity

A website that feels like your school. Shape the colours, pages and welcome message, then preview and publish approved content from one workspace.

Explore this feature

Give each school a branded public home with domain mapping, three template settings, six named or custom palettes, a logo, imagery and desktop/phone previews before saving. Administrators manage headline and welcome copy, contact details, section order, SEO and pages for the school story, head message, academic stages, campus, facilities, admissions, fees, student life, news and events. Drafts, private content preview, publication, archive and retained history stay separate. Policy examples cover privacy, terms, cookies, safeguarding, admissions, fees/refunds, complaints, accessibility and acceptable use; they need adaptation for a real school. Gallery publication checks permission and expiry, with immediate withdrawal. Essential-only cookie preferences are included.

An enquiry progresses through application, staff review and an offer into enrollment and fee review.
02

From first enquiry to the first school day

Turn an enquiry into an organised admissions journey. Applications, staff review, offers and enrollment connect to the same student record.

Explore this feature

Public enquiries and applications enter the same admissions workspace used by staff, with a source field for campaign enquiries, document checklists, staff-arranged appointments, age and capacity checks, waitlisting, expiring offers and branded offer PDFs. A configured application processing fee creates its own invoice and private, expiring payment link without enrolling the child or granting portal access. Actual verified receipts satisfy the fee requirement; processing revenue is recognised separately, and reviewed refunds handle genuine overpayments rather than cancellation of the original charge. Enrollment reuses the application to create the student, a pending family relationship and welcome/review tasks. Selecting an approved tuition plan prepares an individual fee preview for bursar review; an explicit manual tuition route records its term and guards against a later duplicate charge.

Shared school records connect to separate authorised teacher, family, finance and operations views.
03

One record, the right view for every person

Give every person a focused view. Teachers, families, finance and operations work with the records their current permissions allow.

Explore this feature

Shared student, family, employee, class, campus, session and term records connect the system. Student records retain documents, enrollment history, promotion, transfer, departure and graduation. Administrators, teachers, finance, HR, nurses and operations staff receive authorised views and daily work; families and students see the records their current permissions allow. Verified academic, payment and consent rights are independent, so a payer can handle an invoice without receiving learning records and a consent guardian can approve an eligible activity without an academic portal. Families can work across their authorised children, see learning and published results, communicate with school and manage applicable fees and permissions. Staff can retrieve their own posted payslips. Matching contact details never grant access, and revocation takes effect on the next request.

Lessons, attendance and homework connect to assessment review and published reports.
04

Learning, attendance and results that stay connected

Bring the teaching day together. Lesson plans, class attendance, homework and reviewed results stay connected to each learner.

Explore this feature

Organise academic sessions and terms, Nigerian, British or Early Years class labels, teachers, subjects and weekly lessons. Timetable checks detect clashes, while lesson plans, materials and progress records support daily teaching. Attendance can be drafted on the device, saved with a version check and approved only after the active class register is complete; authorised corrections retain a reason and history. Homework supports assignments, attachments, student submissions, grading and feedback. CA/exam weights and grade policies are versioned, and report preparation, review, approval, publication and PDF export preserve the exact policy and student/class context used. Progression does not rewrite earlier reports. Early-years development observations are also recorded.

A school programme connects eligible learners, available places, guardian consent and its fee.
05

School life beyond the classroom

Make room for more than lessons. Clubs, events and trips connect eligible learners, available places, guardian permission and any programme fee.

Explore this feature

Create clubs, competitions, events and trips with eligible classes, places, registration dates, programme dates, mandatory or optional participation, guardian permission and a defined fee. Publication can make the approved public description, image, venue and schedule available on the website while keeping participants and private school details protected. Required programmes provision eligible participation records; where consent is required, confirmation and charging wait for permission. Optional registration checks eligibility, dates, capacity and the guardian's independent consent and payment rights. A confirmed paid registration creates its invoice atomically, with repeat protection. Staff then work from participant and programme-attendance records.

A reviewed fee plan leads to installments, verified collection, receipts and an updated balance.
06

Clear fees for the school and the family

Make school fees easier to follow. Reviewed fee plans, installments, scholarships and verified receipts lead to a clear family balance.

Explore this feature

Reviewed term/class fee plans define fee codes, installment dates and exact shares. Independently approved scholarships and discounts based on verified family relationships feed a saved preview showing each child's award, sibling rank, net charge and installments. Generation freezes that calculation and creates each student/term/fee-code obligation once; later policy edits do not silently reprice history. Collections support partial payments, allocations across children's invoices, deposits, receipts, credits, reviewed refunds and bank matching. Uploaded bank evidence creates a pending review notice and task, never an automatic receipt; finance confirms the actual school-bank transaction before reducing debt. Verified provider excess is preserved as a student deposit. Due-date reminders recheck the remaining balance and current payer permission before delivery. Live online checkout uses each school's own merchant account and is disabled in the fictional demo.

Balanced debit and credit entries connect school accounts, bank matching, budgets and reports.
07

Accounts with a traceable financial story

Follow the financial story behind the figures. Balanced entries, bank matching, budgets and school reports connect to a traceable ledger.

Explore this feature

A persistent NGN double-entry ledger connects school receivables, deferred and earned revenue, bank/cash, deposits, supplier payables and the other subsidiary records. Balanced postings, integer-kobo amounts, protected control accounts, closed periods and immutable posted entries support controlled correction rather than rewriting history. Central schoolwide views provide trial balance, balance sheet, income/expense totals, classified monthly cash flow, account budgets against actuals and subsidiary balances. Cash reporting separates operating, investing and financing activity, opening cash and visible classification exceptions. Reviewed opening CSV migration can establish a fresh ledger together with student receivables/deposits, supplier AP, stock and asset schedules without posting the same balances twice. Statements require accountant classification and reconciliation; comparative/date-range statutory presentation, specialised opening schedules and non-cash financing disclosures remain further work.

Purchase approval, goods receipt, supplier invoice, stock movement and asset records remain separate connected steps.
08

Purchasing, suppliers, stock and school assets

Keep track of what the school buys and uses. Requests, approvals, deliveries, supplier bills, stock and assets each have a clear place.

Explore this feature

A purchase request moves through independent approval, partial goods receipt, supplier invoice and actual bank payment as separate events. Received stock passes through the goods-received-not-invoiced control account before invoicing transfers the amount to payables. Inventory records quantity and value, weighted-average issues, returns at original issue cost, physical counts and minimum-stock exceptions. Fixed assets retain cost, residual value and useful life for sequential monthly straight-line depreciation. Non-stock service or expense bills use an independent review and AP-accrual workflow with reserved partial settlements and separately verified bank payments; each currently uses one expense account. Reviewed supplier credit notes preserve the original bill, reduce unpaid AP first and place paid amounts due back into a separate recovery receivable. A verified bank refund clears that receivable. Shared supplier and bank references help reject reuse across financial workflows.

Payroll calculation passes through independent review, payslips, payment file and separately confirmed settlement.
09

People administration and reviewed payroll

Support the people who keep school running. Staff records, leave and teaching cover sit alongside reviewed payroll and private payslips.

Explore this feature

Maintain staff employment, qualification references, leave requests, decisions and teaching-cover arrangements. Payroll links the same staff identity to basic, housing, transport and other components, benefits, deductions, advances, bank details and explicit opening year-to-date balances. Effective-dated policies capture their source and professional review; cumulative PAYE, employment/unpaid-day prorating and applicable pension, NHF and employer contributions are calculated against the selected snapshot. A run moves from draft through independent approval to expense/liability posting, private payslips and a bank payment file. Exporting that file never marks salaries paid: actual salary payment and statutory remittances are confirmed separately. The seeded policy is a draft requiring expert review, not a claim of legal approval. Automated bank transfers, government submission and agency-specific statutory return templates are not supplied.

Transport, boarding, library, meals, clinic, nursery and safe collection connect around daily school operations.
10

The practical details of a safer school day

Connect the small details of a busy school day. Transport handovers, boarding, library, meals, care and authorised collection have their own workflows.

Explore this feature

Transport connects routes, stops, vehicle, driver, escort and capacity to planned passenger lists, boarding and recorded handovers; a journey cannot close while boarded children remain undelivered. Boarding tracks rooms/beds, exclusive allocations, rollcall, approved leave and expected/actual returns. Library copies have barcodes, loans, returns, renewals and lost-book charges. Meal plans carry essential allergen instructions and approved alternative servings. Restricted clinic records hold care consent, emergency instructions and school visits; operational lists expose only necessary instructions. Families can authorise, expire or revoke collectors, while staff verify identity before pickup, record early departures and require a documented exceptional-release decision where appropriate. Visitors and incidents have their own records. Nursery journals cover meals, naps, toileting, mood, family notes and development observations.

School events produce assigned tasks, review, notifications and a visible retry queue.
11

Automation that turns exceptions into work

Turn an exception into a next step. Late returns, low stock and other school events can create assigned tasks and internal notifications.

Explore this feature

Application submission creates review work; enrollment creates welcome and fee-review tasks; programme publication prepares the connected public presence and configured announcement. Approved attendance can queue absence notices, published reports can notify linked families, and verified payments connect balance, receipt and ledger while stale reminders are suppressed. Scheduled checks create responsible-staff tasks for late boarding returns, overdue loans, remaining passenger handovers and low stock, then close resolved exceptions. A configured payroll date prepares a draft or a setup-resolution task for finance. Announcements, student-linked message threads, replies, requests and complaints share the communication workspace. Rules set recipients, channels, delays and approval requirements; a transactional outbox, scheduled processing, audit and visible retry queue make failures reviewable. Portal notifications work internally. External email, SMS and WhatsApp need configured providers and recipient opt-in, and are disabled for demo schools; provider acceptance does not mean a message was read.

School isolation, scoped access and audit connect to Oyibo school setup, data imports and onboarding.
12

A modular foundation for an Oyibo rollout

Give each school its own space to grow. Branding, modules, scoped access, private documents and onboarding support a planned rollout.

Explore this feature

Tenant and campus boundaries, server-side record permissions, PostgreSQL row-level security, revocable sessions and independently verified family links protect each school's workspace. The identity integration supports Cognito/OIDC with verified identities and privileged authenticator requirements; production accounts still need configuration. Private documents, scoped CSV/PDF exports, validated student/staff/family-contact imports and audit support onboarding and daily administration. A versioned REST/OpenAPI layer shares the business rules used by the web system. Modules can be disabled on the server as well as hidden in navigation. Oyibo setup and fixed-term package quotes use a term-start student census and saved pricing policy, separately from student fees; they do not collect subscription money. The isolated public demo runs on Cloudflare Workers with OpenNext and Hyperdrive, Supabase PostgreSQL and private EU R2 documents. Encrypted recovery scripts are supplied; a complete restore rehearsal, live-school provisioning and a real-school pilot remain pending. The responsive web interface currently starts in English; native mobile apps follow a later phase.

04 / WEB TECHNOLOGY

What makes it work.

Web experience

  • Next.js
  • React
  • TypeScript
  • Responsive CSS
  • Lucide icons
  • Shared school palette tokens

Application and data

  • Node.js
  • PostgreSQL
  • Row-level security
  • Transactional SQL
  • pg-boss for native Node deployments
  • Transactional outbox
  • Zod validation

Identity and integration contracts

  • OpenID Connect
  • PKCE
  • Opaque server sessions
  • REST API v1
  • OpenAPI 3.1
  • AWS SDK
  • Signed Paystack webhooks

Documents and verification

  • pdf-lib
  • CSV import and export
  • Vitest
  • Playwright
  • Actual PostgreSQL integration tests
  • Encrypted backup scripts

Hosted demonstration

  • Cloudflare Workers
  • OpenNext for Cloudflare
  • Cloudflare Hyperdrive
  • Supabase PostgreSQL · Ireland
  • Cloudflare R2 · EU jurisdiction
  • Cron Triggers
  • PostgreSQL transactional outbox

05 / INTEGRATIONS

Connected where it counts.

Supabase PostgreSQL and transactional outbox

Connected · Isolated hosted demo

The isolated demonstration uses a dedicated Supabase PostgreSQL database in Ireland with the application migrations and fictional school records. Cloudflare Hyperdrive connects the application using verified database TLS and uncached queries. Row-level tenant policies, scoped relationships and domain permissions remain part of the application. Cloudflare scheduled processing claims PostgreSQL outbox work with leases and retry handling for internal portal notifications and review tasks. Tenant-scoped transaction row locks preserve shared financial and operational coordination across pooled connections. The separate pg-boss worker remains available for native Node deployments; it is not run inside Cloudflare Workers. This demo is not evidence of production capacity, availability or a real-school pilot.

Amazon Cognito / OpenID Connect

Implemented · Production setup required

The production identity adapter uses authorization-code OIDC, PKCE, verified identities, revocable application sessions and privileged authenticator checks. A Frankfurt user pool, actual accounts, explicit school memberships, MFA setup and provider acceptance testing are still required. Demo role selection is restricted to fictional schools and never establishes production access.

Paystack school and applicant checkout

Implemented · Disabled in demo

Per-school merchant credentials support student invoice and separate applicant-fee checkout, partial amounts, signed webhooks, independent provider verification and recovery of missed callbacks. Reference, amount, currency and school metadata are checked before financial posting. Genuine excess funds remain a student deposit or applicant credit. No live provider payment has been performed; demo schools are blocked even if keys are present. Actual bank/provider payouts and refunds remain authorised human actions recorded through the relevant workflow.

Amazon SES email and SNS SMS

Adapters implemented · Not enabled

Outbox-driven email and SMS delivery require a non-demo school, explicit live flags, verified sender/account setup, AWS permission and the recipient's channel opt-in. School rules can delay or require approval before dispatch. Sensitive updates direct people to the secure portal rather than exposing private financial or clinical detail. No external email or SMS was sent; an accepted provider request is distinct from delivered or read communication.

WhatsApp Business / Meta Cloud API

Adapter implemented · Not enabled

The notification worker can use a configured Meta Cloud API sender with an approved utility template and recipient opt-in. Sender approval, access credentials, supported template/language settings and live acceptance testing remain necessary. Demo schools cannot send external WhatsApp messages, and the product does not claim free-form or unrestricted WhatsApp delivery.

Cloudflare R2 EU private documents

Connected · Isolated hosted demo

The hosted demonstration uses a private Cloudflare R2 bucket in the EU jurisdiction. Role, campus and linked-record authorization is checked before private documents are streamed through the application; they do not become public gallery images. The Cloudflare binding supplies the hosted demo file adapter, while the native adapter remains available for other deployments. School-specific retention policies, live document workflows and a complete cloud recovery rehearsal still require acceptance review.

Cloudflare Workers and OpenNext

Hosted · Isolated fictional-school demo

OpenNext adapts the Next.js web application to Cloudflare Workers at schoolos.oyibo.com.ng. The demo connects the Lagoon Heights public website and five role-based workspaces, with Cedar available as a second fictional school. Cloudflare Hyperdrive connects to Supabase PostgreSQL, which stores the application records and private EU R2 storage holds documents. A five-minute Cron Trigger processes the demo transaction outbox and scheduled workflows. External email, SMS, WhatsApp and live Paystack checkout remain disabled. Native Node deployment and encrypted backup/restore scripts are retained, while hosted capacity checks, provider acceptance and a complete recovery rehearsal remain rollout work.

Pilot delivery and the next phase

Public demo · Real-school pilot pending

The isolated public demonstration makes the fictional school website and role-based workspaces available for exploration and further pilot validation. Oyibo setup can cover school branding and content, domain preparation, validated imports, academic and fee settings and role-based onboarding. A real-school release requires provider acceptance, opening-balance reconciliation, independent Nigerian accounting/payroll and privacy reviews, hosted capacity checks and an executed recovery drill. The current English CMS uses structured forms: block type/title/body are editable, while complete visual block controls, some surrounding website copy and editing existing programme titles/descriptions need further work. Staff arrange admissions appointments; a public booking calendar and automatic timetable generation are not included. Native Android/iOS, online examinations, live/video classes, GPS and biometric devices are separate future work. No completed real-school pilot or statutory certification is claimed.

NEXT PROJECT / E-COMMERCE

Mambilla Premium

CURRENTLY FULLY BOOKED

Good work
takes focus.