Context
Information Engineering capstone-style team project at NYCU. Department clubs ran events on signup sheets and Line groups; caps were manual; waitlists were arguments.
We scoped a simple registration web app: student login, event list, one-click register, admin sees headcount and CSV export.
What I built
My focus: backend registration rules and demo reliability.
- Capacity enforcement with transactional signup (no oversell under concurrent clicks)
- Waitlist promotion when someone cancels
- Admin CSV export matching the registrar's column expectations
- Seed scripts for demo data-written after the first demo nearly failed on an empty database
Also the person who stayed late when Wi-Fi dropped during integration testing.
Technical approach
Classic three-tier student stack. Git flow with branches per feature; learned merge pain early. Integration tests minimal but seed data mandatory for every demo environment.
Outcomes
- Demo passed on second attempt; first failure became team lore and my personal rule: never demo without seeded data
- Project grade fine; real win was learning concurrent signup is not trivial
- Direct line to how I still think about production empty states and idempotency
Stack
Java/web coursework stack · MySQL · Git · Team of four