A modern, full-stack website for St. Michael's International School (Frafraha, Adenta, Accra, Ghana) featuring a public marketing site, an online admissions system, and an admin control panel.
# St. Michael's International School — Website & Admissions Platform
A modern, full-stack website for St. Michael's International School (Frafraha, Adenta, Accra, Ghana) featuring a public marketing site, an online admissions system, and an admin control panel.
Built with **Next.js 16**, **TypeScript**, **Tailwind CSS v4**, and **React 19**.
---
## ✨ Features
### Public Website
- Modern, responsive homepage with hero slideshow, an "Explore the School" tab grid, stats, and real campus photography
- Tab-style primary navigation (Home, About, Academics, Admissions, Awards, News, Gallery, Contact) — each tab is a direct link to its own page, with the active tab highlighted
- About, Academics, Admissions, Awards & Recognition, News, Gallery, and Contact pages
- All iconography uses Lucide icon components — no emoji anywhere on the site
- Official school crest/logo used throughout (header, footer, admin portal)
- Accurate school history sourced directly from the school's official history document (founders, founding date, growth story, achievements)
### Online Admissions
- 5-step multi-page application form (Student → Parent → Address → Emergency/Medical → Review & Submit)
- Client + server-side validation (Zod + React Hook Form)
- Auto-generated application numbers (e.g. `SMIS-2026-7025`)
- Public **"Check Application Status"** tool — no login required, just the application number
- Accepts applications from **local and international** families (full country list, passport/birth certificate field, international phone formats)
### Admin Control Panel (`/admin`)
- Secure cookie-based authentication (separate from the public site layout)
- **Dashboard** — live application counts by status and division, recent applications feed
- **Applications** — searchable/filterable table, full applicant detail modal, one-click status updates (Pending / Under Review / Accepted / Rejected / Waitlisted)
- **Content Management** — create/edit/delete news & announcement articles with …