Problem statement
Design the object model and core APIs for a parking lot management system that a single building operator would run for a multi-floor garage.
Operating context. One physical lot, 3–10 floors, each floor with a mix of spot sizes (compact, regular, large, EV-charger). A vehicle arrives at the entry gate; the system finds a fitting spot and issues a ticket. On exit, the ticket is presented at the exit gate, the fee is computed from time + spot-type tariff, and the spot is freed. Multiple entry / exit gates can operate concurrently. No remote network — single in-process service.
What to produce. The class hierarchy (entities, value objects, services), the public APIs each class exposes, and the state transitions for tickets and spots. Be explicit about: how concurrent entries do not double-book the same spot, how fee policy is pluggable (e.g. tomorrow we add a holiday tariff), and how the design extends to a second lot without rewriting the spot-allocation core.
Out of scope. Persistence layer (assume in-memory for v1), payment gateway integration, ANPR / camera plumbing, multi-tenant billing, REST API surface (focus on the in-process object model, not the HTTP layer).
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design LLD
- Oop Solid
- Concurrency Locks
- Patterns Strategy
- Patterns Factory