Design: Parking Lot System
Focus on core parking lot operations and spot management. Exclude payment gateway integration and mobile app UI.
Functional Requirements
Non-Functional Requirements
Jump into concepts and practice - no test required
+-------------------+
| Entry Gate |
+---------+---------+
|
v
+-------------------+ +-------------------+
| Parking Lot Manager|<----->| Spot Availability |
+---------+---------+ +---------+---------+
| |
v v
+-------------------+ +-------------------+
| Vehicle Registry | | Fee Calculator |
+-------------------+ +-------------------+
|
v
+-------------------+
| Exit Gate |
+-------------------+class ParkingLot:
def __init__(self):
self.spots = {"car": 2, "bike": 1}
def park_vehicle(self, vehicle_type):
if self.spots.get(vehicle_type, 0) > 0:
self.spots[vehicle_type] -= 1
return "Parked"
else:
return "Full"
lot = ParkingLot()
print(lot.park_vehicle("car"))
print(lot.park_vehicle("car"))
print(lot.park_vehicle("car"))class ParkingLot:
def __init__(self):
self.spots = {"car": 2}
def park_vehicle(self, vehicle_type):
if self.spots[vehicle_type] > 0:
self.spots[vehicle_type] = 0
return "Parked"
else:
return "Full"
lot = ParkingLot()
print(lot.park_vehicle("car"))
print(lot.park_vehicle("car"))