All projectsCASE STUDY / 01

Website · Full stack

P.N. Central Academy.

A school website and content-management experience that brings public information, enquiries and school updates into one place.

Illustrative preview of the school website information architecture; not a captured production screenshot.
Illustrative visual · not a production screenshot
MY ROLEFull-stack web development
STATUSWebsite URL
SCOPEPublic site + admin CMS
DELIVERABLEResponsive school website

01 / THE BRIEF

The problem

School websites need to serve several audiences at once: parents looking for admissions and contact information, students checking updates, and staff maintaining public content. Important information can become difficult to find when pages and updates are managed separately.

02 / APPROACH

How I approached it

Build a responsive public website around clear information architecture, then support recurring school updates through a protected administration area. Keep public records and draft or unapproved content separate.

03 / IMPLEMENTATION

What I built

  • Organised public information pages covering the school, admissions, facilities, staff, student information, gallery, videos and contact details.
  • Worked across the React/Vite frontend and the Express/MongoDB backend.
  • Implemented management flows for notices, admission resources, faculty profiles and gallery content.
  • Added enquiry handling, with optional Google Sheets synchronisation and a retry path for failed syncs.
  • Applied server-side validation, file-signature checks for PDFs, protected admin sessions, rate limiting, a CORS allow-list and security headers.

04 / DESIGN & TECHNICAL DECISIONS

Why it works this way

Public and admin experiences

Public visitors see published information; unverified or draft faculty and resources remain behind admin access.

Content that changes over time

Notices and admission resources are managed as records with publication and expiry states rather than being hard-coded into the page.

Resilient enquiry flow

Enquiries are stored in MongoDB first; the optional Sheet sync is tracked separately so a sync failure does not pretend the enquiry was lost or successfully mirrored.

06 / OUTCOME

What’s delivered

A deployed full-stack school website with public information pages and administrative workflows. No traffic, enquiry-conversion or performance figures are claimed because verified analytics were not available in the public repository.

07 / NEXT IMPROVEMENTS

What I’d improve next

For a production handover, confirm the school’s content and contact details, use durable object storage for uploaded media, verify all public claims with the school, and complete deployment smoke tests against the live environment.

KEEP EXPLORING

More work, more learning.

Browse all projects