How codewithnaveed01/parking-lot-system works
Orbit Park is a single-lot parking system with separate driver, gate-staff, and manager experiences. Its main workflow is online reservation, gate check-in, fee calculation, payment recording or transfer verification, and ticket closure. Walk-in parking, capacity and rate administration, audit/history, and signed receipts are additional product branches. The README documents capabilities beyond the sampled excerpts; those branches are shown at their documented subsystem paths, with uncertain internal wiring omitted.
Main entry points: ParkingLotService.java Lot lifecycle · ApiServer.java HTTP API · TicketRepository.java Ticket persistence · app.js Driver portal
Components 21
User experiences
- Driver portal
web/app.js - Gate portal
web/gate.js - Admin portal
web/admin.js
HTTP and services
- HTTP API
src/com/parking/api/ApiServer.java - Lot lifecycle
src/com/parking/service/ParkingLotService.java - Fee calculation
src/com/parking/service/HourlyPricing.java - Staff sessions
src/com/parking/service/AdminAuthService.java
Parking domain
- Ticket lifecycle
src/com/parking/model/Ticket.java - Vehicles and bays
src/com/parking/model/Vehicle.java - Rate settings
src/com/parking/service/RateTable.java - Transfer destinations
src/com/parking/service/PaymentConfig.java - Signed receipts
src/com/parking/util/Crypto.java
State and security
- Ticket persistence
src/com/parking/repository/TicketRepository.java - Settings persistence
src/com/parking/repository/SettingsRepository.java - File storage
src/com/parking/repository/FileTicketRepository.java - PostgreSQL storage
src/com/parking/repository/PostgresTicketRepository.java
Other components
- Drivers
- Gate staff
- Manager
- Merchant statement
- Wallet or bank app
Connections 22
- Drivers → Driver portal: use
- Gate staff → Gate portal: use
- Manager → Admin portal: use
- Driver portal → HTTP API: request booking
- Gate portal → HTTP API: request gate actions
- Admin portal → HTTP API: request management
- Wallet or bank app → Drivers: send transfer
- Drivers → Driver portal: submit reference
- Merchant statement → Manager: check transfer
- HTTP API → Lot lifecycle: dispatch parking actions
- HTTP API → Staff sessions: validate staff sessions
- Lot lifecycle → Ticket persistence: load and save tickets
- Lot lifecycle → Settings persistence: read settings
- Lot lifecycle → Fee calculation: calculate fees
- Fee calculation → Rate settings: read rates
- Rate settings → Settings persistence: load and save rates
- Transfer destinations → Settings persistence: load and save destinations
- Lot lifecycle → Ticket lifecycle: advance ticket lifecycle
- Lot lifecycle → Vehicles and bays: allocate bays
- HTTP API → Signed receipts: verify receipt signatures
- Ticket persistence → File storage: file implementation
- Ticket persistence → PostgreSQL storage: PostgreSQL implementation