How hasithaerandika/parqhub works
ParQHub is a web-based parking reservation and management platform. Users register vehicles, discover available lots and slots, book a space, track entry and exit, and settle parking charges; administrators manage facilities and records, monitor occupancy, and generate financial and utilization reports. The graph reflects documented features and sampled controller/service behavior. Several user and admin routes are represented by their enclosing controller directories because their wiring was not sampled; unsampled notification and email behavior is therefore not linked to particular callers.
Main entry points: ManageTablesController.java Record management · PaymentController.java Payment and receipt · ReportController.java Analytics and reports · BookingRepository.java Booking data
Components 28
User journeys
- Registration
src/main/java/com/prmplatform/parqhub/controller/RegisterController.java - User account
src/main/java/com/prmplatform/parqhub/controller/user/UserController.java - Parking discovery
src/main/java/com/prmplatform/parqhub/controller/user/FindParkingController.java - Payment and receipt
src/main/java/com/prmplatform/parqhub/controller/user/PaymentController.java - Entry and exit logs
src/main/java/com/prmplatform/parqhub/controller/user/VehicleLogController.java
Parking operations
- Lots and slots
src/main/java/com/prmplatform/parqhub/model/ParkingLot.java - Occupancy viewer
src/main/java/com/prmplatform/parqhub/service/ParkingViewerService.java - Slot provisioning
src/main/java/com/prmplatform/parqhub/service/ParkingLotService.java
Administration
- Admin access
src/main/java/com/prmplatform/parqhub/controller/admin/AdminController.java - Role authentication
src/main/java/com/prmplatform/parqhub/service/AdminAuthenticationService.java - Record management
src/main/java/com/prmplatform/parqhub/controller/admin/ManageTablesController.java - Parking monitor
src/main/java/com/prmplatform/parqhub/controller/admin/ParkingViewerController.java - Analytics and reports
src/main/java/com/prmplatform/parqhub/controller/admin/ReportController.java
Domain and data
- Reservations
src/main/java/com/prmplatform/parqhub/model/Booking.java - Payment records
src/main/java/com/prmplatform/parqhub/model/Payment.java - Vehicle log records
src/main/java/com/prmplatform/parqhub/model/VehicleLog.java - User and vehicle data
src/main/java/com/prmplatform/parqhub/repository/UserRepository.java - Booking data
src/main/java/com/prmplatform/parqhub/repository/BookingRepository.java - Slot data
src/main/java/com/prmplatform/parqhub/repository/ParkingSlotRepository.java - Lot data
src/main/java/com/prmplatform/parqhub/repository/ParkingLotRepository.java - Payment data
src/main/java/com/prmplatform/parqhub/repository/PaymentRepository.java - Vehicle log data
src/main/java/com/prmplatform/parqhub/repository/VehicleLogRepository.java - Payment strategies
src/main/java/com/prmplatform/parqhub/service/PaymentProcessingService.java - Saved reports
src/main/java/com/prmplatform/parqhub/repository/ReportRepository.java - Notifications
src/main/java/com/prmplatform/parqhub/model/Notification.java
Other components
- Driver
- Administrator
- Email service
Connections 42
- Driver → Registration: registers
- Registration → User and vehicle data: checks and saves
- Driver → User account: manages account
- User account → User and vehicle data: reads and saves
- Driver → Parking discovery: searches parking
- Parking discovery → Occupancy viewer: requests availability
- Occupancy viewer → Lot data: reads lots
- Occupancy viewer → Slot data: reads slots
- Driver → Reservations: requests reservation
- User account → Booking data: creates and reads
- User account → Slot data: checks and updates
- Booking data → Reservations: loads records
- Administrator → Admin access: signs in
- Admin access → Role authentication: authenticates role
- Admin access → User and vehicle data: loads admin
- Administrator → Record management: manages records
- Record management → User and vehicle data: reads and saves
- Record management → Booking data: reads and saves
- Record management → Lot data: reads and saves
- Record management → Slot data: reads and saves
- Record management → Payment data: reads and saves
- Record management → Saved reports: reads and saves
- Record management → Slot provisioning: provisions slots
- Slot provisioning → Slot data: creates and deletes
- Administrator → Parking monitor: monitors occupancy
- Parking monitor → Occupancy viewer: requests lot view
- Administrator → Analytics and reports: requests analytics
- Analytics and reports → Payment data: queries payments
- Analytics and reports → Booking data: queries bookings
- Analytics and reports → Slot data: queries occupancy
- Analytics and reports → Saved reports: saves reports
- Driver → Entry and exit logs: tracks entry and exit
- Entry and exit logs → Vehicle log data: reads and records
- Driver → Payment and receipt: pays and requests receipt
- Payment and receipt → Booking data: loads booking
- Payment and receipt → Vehicle log data: loads completed visit
- Payment and receipt → Lot data: loads lot rate
- Payment and receipt → Payment strategies: processes payment
- Payment strategies → Payment records: creates payment
- Payment and receipt → Payment data: reads and saves
- Payment and receipt → Email service: sends confirmation
- Driver → Notifications: views updates