Project summary
I built a certificate management system to bring Actual First Aid’s training records and follow-up tasks into one place. Staff can manage businesses, contacts, courses, students and certificates, and keep track of which certificates are current, expiring or expired.
One place for training records
The application brings business, student and course information together. Staff can manage multiple contacts for each business, create reusable course templates, assign courses and track student enrolments and certificate validity. Searchable, filterable views make it easier to find records and follow up.
Certificates and renewals
Staff can view certificates by business, course and status, generate and download PDF certificates, and see which ones are approaching expiry. Automated reminders go to business contacts, while a monthly report gives administrators an overview of expiring certificates.
Built for day-to-day use
I developed the interface in React and TypeScript, with a PHP API and MySQL database behind it. The application also includes settings and a refresher area, alongside the main business, course, student and certificate workflows.
Hosting and deployment
I prepared the application for deployment to cPanel hosting: the frontend is delivered as static files, with the PHP API and its configuration kept outside the public web root. Deployment tooling packages the application for upload, and scheduled tasks handle email reminders and reports.
- Records: businesses, contacts, students, courses, enrolments and certificates
- Certificates: PDF generation, downloads and expiry tracking
- Email: scheduled business reminders and monthly admin reports
- Technology: React and TypeScript frontend, PHP API and MySQL
- Deployment: cPanel hosting setup and deployment tooling


