Skip to main content
Back to projects
Shipped December 2024 — January 2025 Design, development, and deployment

Full Day IT Management

Landing site and admin panel for a UNT academic event — 100 registrations in 5 weeks.

Screenshot of the Full Day IT Management landing: hero section with the event title, date, and registration buttons
~100
Registrations
~95
Attendees
8
Admin modules
  • Laravel
  • Filament
  • Tailwind CSS
  • Vite
  • Pest
  • MySQL
  • Axios

Problem

The IT Management course at UNT’s Systems Engineering school needed an academic event bringing together students, PMI Lima professionals, and COBIT/ITIL specialists on a single Saturday. The visible side (public landing) was 30% of the work; the other 70% was operations: capturing registrations with national ID/phone/specialty, validating duplicates, communicating changes, controlling auditorium capacity.

Without a proper admin, the organizing team would have depended on shared spreadsheets — error-prone once registrations cross 50.

Approach

Laravel + Filament + MySQL as a monolithic stack so admin and landing shared the data model without manual sync. Tailwind for fine control over the visual hierarchy of the countdown and agenda (the “Register” CTA had to read clearly from the bottom of the page). Pest for tests around form validation, the event’s critical path.

Deployed to the jabss.dev VPS as a subdomain, leveraging the multi-tenant Nginx already in place.

Decisions

  1. Filament over a custom Laravel admin (or Nova): with a 5-week timeline and 8 CRUD entities (registrations, speakers, talks, sponsors, sliders, announcements, countdown config, general config), Filament generated typed-and-validated resources in hours. Nova required a commercial license; a custom admin would have consumed the full 5 weeks on CRUD alone.

  2. Pest over PHPUnit: the it('rejects duplicate DNIs', ...) syntax reads like a business spec and lowers friction when writing feature tests under deadline pressure. Parallelization by default and one-line datasets helped cover the registration form’s field combinations without boilerplate.

  3. MySQL over PostgreSQL: the VPS was already serving other sites on a preinstalled MySQL, and the domain (simple registrations with linear FKs) didn’t need PostgreSQL’s strengths. Keeping a single DB engine reduced operational cost for the subdomain.

Result

  • ~100 registrations captured in a 5-week campaign, ~95 attendees confirmed on the day (95% conversion).
  • Zero downtime during the 12-hour event thanks to Lightsail’s tier + Nginx caching.
  • Admin with a live dashboard: pending/accepted/rejected registrations, total speakers, active sponsors, acceptance rate, and recent registrations — the organizing team never had to touch the database manually.