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