<- Back to Demo Lab

Real Client Workflow

Admissions Workflow System

A live client website workflow for The Way Christian School that handles admissions applications, document uploads, Google Calendar events, custom PDF records, and automated email notifications.

Project Snapshot

  • The Way Christian School
  • Live client project
  • Admissions applications
  • Google Calendar events
  • AWS S3 document storage
  • Automated parent and admin emails

Workflow preview

Admissions, calendar, PDF, and storage flow

The project combines public website usability with the behind-the-scenes admin work needed to collect documents, create records, and notify the right people.

Admissions workflow preview showing form, calendar, PDF, and S3 storage

Problem

The school needed more than a brochure website. Admissions, enquiries, events, document collection, and follow-up needed to move through a structured online process instead of relying only on manual email and admin handling.

Solution

I built a client-facing school website with a multi-step admissions workflow, custom Google Calendar display, AWS S3 document storage, generated PDF application records, and automated emails for the school and parents.

Client impact

What the workflow delivers

This project connects a public school website to the operational work behind admissions: collecting applications, storing files, generating records, and notifying the correct people.

Parents can complete a guided online admissions process.

Built as part of a live client workflow, with the public website acting as the intake layer and server-side processes handling storage, documents, and emails.

Required documents are uploaded and stored in AWS S3.

Built as part of a live client workflow, with the public website acting as the intake layer and server-side processes handling storage, documents, and emails.

The admissions office receives a structured application email with the generated PDF and uploaded files.

Built as part of a live client workflow, with the public website acting as the intake layer and server-side processes handling storage, documents, and emails.

Parents receive an automated confirmation email with their application PDF.

Built as part of a live client workflow, with the public website acting as the intake layer and server-side processes handling storage, documents, and emails.

School events are pulled from Google Calendar and displayed in a custom website calendar.

Built as part of a live client workflow, with the public website acting as the intake layer and server-side processes handling storage, documents, and emails.

System features

Key Features

The admissions workflow combines frontend usability with backend automation so the school receives complete, usable application records.

Multi-step admissions form

The application form collects learner details, parent/guardian information, sibling details, subject choices, billing responsibility, required files, and final marketing/source information.

Conditional validation

The workflow validates South African ID numbers, phone numbers, required grade-specific files, Grade 10-11 subject choices, citizenship-specific documents, and sibling/extra learner requirements.

S3 document storage

The system creates structured S3 object keys by application category and application ID, generates upload URLs, stores JSON application records, and retrieves uploaded files for admin email attachments.

Custom PDF records

Each submitted application generates a branded PDF record with school header/footer assets and structured application details for the admissions office and parent confirmation.

Automated email workflow

The admissions office receives the application PDF plus uploaded documents, while the parent receives a confirmation email with their generated application PDF.

Google Calendar integration

The website reads public Google Calendar events for primary and high school calendars, filters internal events, displays them in a custom month view, and supports calendar download.

End-to-end flow

How the Workflow Runs

The important part of this build is the full process: from a parent completing the form through to the school receiving a usable admissions package.

01

A parent opens the admissions form and completes the guided application steps.

02

The form validates required learner, parent, contact, subject, and document information.

03

The frontend requests secure upload URLs for the required files.

04

Files are uploaded to AWS S3 using structured keys under the application category and ID.

05

The admissions API stores the application JSON record in S3.

06

A branded PDF application record is generated from the submitted data.

07

The school receives an email with the PDF and uploaded supporting documents.

08

The parent receives an automated confirmation email with their application PDF.

Implementation stack

Tech Stack

These are the main technologies used in the live client project, grouped by the part of the system they support.

Frontend

Next.jsReactSass ModulesMulti-step FormsResponsive UI

Backend

Next.js API RoutesNode.jsNodemailerBot Protection

Integrations

Google Calendar APIAWS S3Gmail SMTPGoogle APIs

Documents

React PDFPDF GenerationPDF AttachmentsFile Uploads

Engineering decisions

Build Thinking

This section explains the practical decisions behind the project: user experience, server-side safety, operational records, and client privacy.

01

Client workflow first

The system was shaped around how a real admissions office works: collect complete information, keep uploaded documents with the application, notify the correct people, and leave a usable record.

  • The form is split into steps so parents are not faced with one overwhelming page.
  • Validation catches missing information before submission.
  • Grade and citizenship choices control which fields and uploads are required.
02

Server-side processing

Sensitive operations run through API routes, keeping email credentials, AWS credentials, and PDF generation logic out of the browser.

  • The browser never receives email or AWS secret credentials.
  • The API creates application IDs and stores structured records.
  • Uploaded file metadata is passed into the final application record.
03

Operational records

The application does not only send an email. It also creates a structured record and a PDF snapshot that the school can keep for admissions administration.

  • Application JSON is stored in S3.
  • Uploaded files are grouped under the same application folder.
  • Generated PDFs make the submission easier for staff to review and archive.
04

Real client constraints

Because this is a live client website, the case study focuses on the workflow and architecture without exposing private application data, credentials, or internal school records.

  • The public portfolio explains the system without exposing client data.
  • The live application stores real submissions outside the portfolio demo.
  • Security and privacy matter more here than making the workflow publicly editable.

Client Privacy Note

The Way Christian School is a real client and the website is live. This case study explains the architecture and workflow without exposing private admissions data, uploaded documents, credentials, or internal school records.