totalStorage per lot = 1000 lots * 20B = 20KB
support approx 100K parking lots
total Storage = 100K * 20KB = 2GB
total requests per day: 1200 * 100K = 120M
write:read ratio is going to be 1:1 as every time a user enters, there will be a read and a write and same for exit.
parking service:
entry(licensePlate, entryTimestamp, lotId)
exit(licensePlate, exitTimestamp, lotId)
configuration service:
addParkingLot(userId, price, capacity)
updateParkingLot(userId, lotId, price, capacity)
deleteParkingLot(userId, lotId)
Vehicle
licensePlate (PK) -> the license plate of the user which will be scanned at the entry gate
entryTimestamp -> the time at which the user has entered the parking lot
lotId (FK) -> the parking lot that the user has entered
Parking Lot
lotId (PK) -> unique identifier for the parking lot
ownerId (FK) -> owner of parking lot
price -> cost of parking per hour
capacity -> how many lots the parking lot supports
Lot Owner
ownerId (PK) -> id of owner
username -> username of owner
email -> email of owner
passwordHash -> password of owner account