GameCafé Manager
A reservation system for a gaming café — built on a hand-rolled MVC architecture with PSR-4 autoloading. No framework, on purpose.
The problem
Build a reservation system for a gaming café — not with a framework, but from scratch. The goal was to demonstrate real understanding of how web applications work under the hood: routing, controllers, models, views — all hand-rolled.
What I built
A complete reservation system with session management, game catalog, statuses and filters — all riding on a custom MVC architecture with PSR-4 autoloading. The kind of project that makes you understand exactly why frameworks exist.
Feature walk-through
Custom MVC engine
A hand-written router maps URLs to controllers, controllers call models, models talk to MySQL, views render the output. No magic — every layer visible.
Session booking flow
Book, modify and cancel gaming sessions with live availability — the core business logic of the café, done properly.
Game catalog & filtering
Browse the café’s game library with status filters and categories, backed by a normalized MySQL schema.
Role-based views
Admins manage the café; customers book sessions. Different views, one codebase.
Under the hood
The MVC pattern implemented from scratch — no Laravel, no Symfony. It is the kind of project that makes you understand why frameworks exist, and what they actually do for you.
- Router — parses URLs and maps them to controller methods
- Controllers — validate input, call models, prepare views
- Models — query layer over a normalized MySQL schema
- Views — PHP templates with clean HTML output
What I learned
- How MVC frameworks work under the hood
- PHP OOP principles and PSR standards
- Database design and normalization
- Agile methodology and team collaboration
- Code review practices and clean code