# it24101654/parkify---parking-management-system architecture

> Architecture diagram of the GitHub repository it24101654/parkify---parking-management-system, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/it24101654/parkify---parking-management-system
- Repository: https://github.com/it24101654/parkify---parking-management-system

## Overview

Parkify is a role-based parking management web application: drivers discover and book parking, owners manage facilities, and administrators oversee users and activity. The main evidenced booking path runs from the frontend through reservation handling, payment, and persisted booking state; separate features cover AI recommendations and vehicle-service appointments and listings. The README documents map navigation, slot management, and admin oversight, so these remain represented, but their internal wiring is not inferred. Edges reflect sampled calls or explicit README capabilities; much of the backend was not sampled.

Main entry points: [`parkify-frontend/src/App.js`](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/App.js) (Role-based routes), [`parkify-frontend/src/Pages/Driver/Drdashboard.js`](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Driver/Drdashboard.js) (Driver dashboard), [`src/main/java/com/Parkify/Parkify/service/PaymentGatewayService.java`](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/PaymentGatewayService.java) (Stripe checkout), [`parkify-frontend/src/Pages/Parking-Owner/PODashboard.js`](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Parking-Owner/PODashboard.js) (Owner dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Role-based frontend"]
  node_app["Role-based routes<br/>[App.js]"]
  node_driver_ui["Driver dashboard<br/>[Drdashboard.js]"]
  node_owner_ui["Owner dashboard<br/>[PODashboard.js]"]
  node_admin_ui["Admin dashboard<br/>[Dashboard.js]"]
  node_reservation_ui["Reservation workflow"]
  node_appointment_ui["Service appointments"]
  node_items_ui["Service item management"]
end

subgraph group_parking["Parking operations"]
  node_parking_api["Parking APIs"]
  node_slot_api["Slot management"]
  node_location_api["Location services"]
  node_ai_api["AI recommendations"]
  node_ai_service["Recommendation scoring"]
  node_parking_store[("Parking records")]
end

subgraph group_commerce["Booking and payment"]
  node_reservation_api["Reservation handling"]
  node_reservation_service["Booking rules"]
  node_reservation_store[("Reservation records")]
  node_payment_api["Payment management"]
  node_payment_gateway["Stripe checkout"]
  node_payment_store[("Payment records")]
end

subgraph group_services["Vehicle services"]
  node_appointment_api["Appointment API"]
  node_appointment_service["Appointment booking"]
  node_appointment_store[("Appointment records")]
  node_items_api["Service item API"]
  node_items_service["Service item logic"]
  node_items_store[("Service item records")]
end

subgraph group_platform["Platform support"]
end

node_drivers(("Drivers"))
node_owners(("Parking owners"))
node_admins(("Super admins"))
node_stripe["Stripe"]

node_drivers -->|"open app"| node_app
node_owners -->|"open app"| node_app
node_admins -->|"open app"| node_app
node_app -->|"routes drivers"| node_driver_ui
node_app -->|"routes owners"| node_owner_ui
node_app -->|"routes admins"| node_admin_ui
node_driver_ui -->|"manage bookings"| node_reservation_ui
node_reservation_ui -->|"booking requests"| node_reservation_api
node_reservation_api -->|"delegates booking"| node_reservation_service
node_reservation_service -->|"reads/writes"| node_reservation_store
node_reservation_api -->|"creates checkout"| node_payment_gateway
node_payment_gateway -->|"creates session"| node_stripe
node_payment_gateway -->|"saves pending payment"| node_payment_store
node_payment_gateway -->|"loads reservation"| node_reservation_store
node_payment_api -->|"reads/writes payments"| node_payment_store
node_payment_api -->|"updates booking state"| node_reservation_store
node_driver_ui -.->|"requests recommendations"| node_ai_api
node_ai_api -->|"calculates recommendation"| node_ai_service
node_ai_service -->|"loads parking places"| node_parking_store
node_appointment_ui -->|"appointment requests"| node_appointment_api
node_appointment_api -->|"delegates operations"| node_appointment_service
node_appointment_service -->|"reads/writes"| node_appointment_store
node_items_ui -->|"item requests"| node_items_api
node_items_api -->|"delegates operations"| node_items_service
node_items_service -->|"reads/writes"| node_items_store
node_driver_ui -.->|"finds parking"| node_parking_api
node_owner_ui -.->|"manages slots"| node_slot_api
node_owner_ui -.->|"manages facilities"| node_parking_api
node_driver_ui -.->|"selects location"| node_location_api

click node_app "https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/App.js"
click node_driver_ui "https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Driver/Drdashboard.js"
click node_owner_ui "https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Parking-Owner/PODashboard.js"
click node_admin_ui "https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Super-Admin/Dashboard.js"
click node_parking_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ParkingController.java"
click node_slot_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ParkingSlotController.java"
click node_location_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ParkingLocationController.java"
click node_ai_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/aiassistant/AIAssistantController.java"
click node_ai_service "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/aiassistant/AIAssistantService.java"
click node_parking_store "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ParkingRepository.java"
click node_reservation_ui "https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Components/Driver/ReservationManagement.js"
click node_reservation_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ReservationController.java"
click node_reservation_service "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/ReservationService.java"
click node_reservation_store "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ReservationRepository.java"
click node_payment_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/PaymentController.java"
click node_payment_gateway "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/PaymentGatewayService.java"
click node_payment_store "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/PaymentRepository.java"
click node_appointment_ui "https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Driver/ServiceAppointmentDashboard.js"
click node_appointment_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ServiceAppointmentController.java"
click node_appointment_service "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/ServiceAppointmentService.java"
click node_appointment_store "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ServiceAppointmentRepository.java"
click node_items_ui "https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Components/ServiceCenter/ManageServiceItems.js"
click node_items_api "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ServiceItemController.java"
click node_items_service "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/ServiceItemService.java"
click node_items_store "https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ServiceItemRepository.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_driver_ui,node_owner_ui,node_admin_ui,node_reservation_ui,node_appointment_ui,node_items_ui toneBlue
class node_parking_api,node_slot_api,node_location_api,node_ai_api,node_ai_service,node_parking_store toneAmber
class node_reservation_api,node_reservation_service,node_reservation_store,node_payment_api,node_payment_gateway,node_payment_store toneMint
class node_appointment_api,node_appointment_service,node_appointment_store,node_items_api,node_items_service,node_items_store toneRose
class node_drivers,node_owners,node_admins,node_stripe toneIndigo
```

## Components

### Role-based frontend

- [Role-based routes](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/App.js): `parkify-frontend/src/App.js`
- [Driver dashboard](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Driver/Drdashboard.js): `parkify-frontend/src/Pages/Driver/Drdashboard.js`
- [Owner dashboard](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Parking-Owner/PODashboard.js): `parkify-frontend/src/Pages/Parking-Owner/PODashboard.js`
- [Admin dashboard](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Super-Admin/Dashboard.js): `parkify-frontend/src/Pages/Super-Admin/Dashboard.js`
- [Reservation workflow](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Components/Driver/ReservationManagement.js): `parkify-frontend/src/Components/Driver/ReservationManagement.js`
- [Service appointments](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Pages/Driver/ServiceAppointmentDashboard.js): `parkify-frontend/src/Pages/Driver/ServiceAppointmentDashboard.js`
- [Service item management](https://github.com/it24101654/parkify---parking-management-system/blob/main/parkify-frontend/src/Components/ServiceCenter/ManageServiceItems.js): `parkify-frontend/src/Components/ServiceCenter/ManageServiceItems.js`

### Parking operations

- [Parking APIs](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ParkingController.java): `src/main/java/com/Parkify/Parkify/controller/ParkingController.java`
- [Slot management](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ParkingSlotController.java): `src/main/java/com/Parkify/Parkify/controller/ParkingSlotController.java`
- [Location services](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ParkingLocationController.java): `src/main/java/com/Parkify/Parkify/controller/ParkingLocationController.java`
- [AI recommendations](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/aiassistant/AIAssistantController.java): `src/main/java/com/Parkify/Parkify/aiassistant/AIAssistantController.java`
- [Recommendation scoring](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/aiassistant/AIAssistantService.java): `src/main/java/com/Parkify/Parkify/aiassistant/AIAssistantService.java`
- [Parking records](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ParkingRepository.java): `src/main/java/com/Parkify/Parkify/repository/ParkingRepository.java`

### Booking and payment

- [Reservation handling](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ReservationController.java): `src/main/java/com/Parkify/Parkify/controller/ReservationController.java`
- [Booking rules](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/ReservationService.java): `src/main/java/com/Parkify/Parkify/service/ReservationService.java`
- [Reservation records](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ReservationRepository.java): `src/main/java/com/Parkify/Parkify/repository/ReservationRepository.java`
- [Payment management](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/PaymentController.java): `src/main/java/com/Parkify/Parkify/controller/PaymentController.java`
- [Stripe checkout](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/PaymentGatewayService.java): `src/main/java/com/Parkify/Parkify/service/PaymentGatewayService.java`
- [Payment records](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/PaymentRepository.java): `src/main/java/com/Parkify/Parkify/repository/PaymentRepository.java`

### Vehicle services

- [Appointment API](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ServiceAppointmentController.java): `src/main/java/com/Parkify/Parkify/controller/ServiceAppointmentController.java`
- [Appointment booking](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/ServiceAppointmentService.java): `src/main/java/com/Parkify/Parkify/service/ServiceAppointmentService.java`
- [Appointment records](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ServiceAppointmentRepository.java): `src/main/java/com/Parkify/Parkify/repository/ServiceAppointmentRepository.java`
- [Service item API](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/controller/ServiceItemController.java): `src/main/java/com/Parkify/Parkify/controller/ServiceItemController.java`
- [Service item logic](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/service/ServiceItemService.java): `src/main/java/com/Parkify/Parkify/service/ServiceItemService.java`
- [Service item records](https://github.com/it24101654/parkify---parking-management-system/blob/main/src/main/java/com/Parkify/Parkify/repository/ServiceItemRepository.java): `src/main/java/com/Parkify/Parkify/repository/ServiceItemRepository.java`

### Other components

- **Drivers**
- **Parking owners**
- **Super admins**
- **Stripe**

## Connections

- Drivers → Role-based routes: open app
- Parking owners → Role-based routes: open app
- Super admins → Role-based routes: open app
- Role-based routes → Driver dashboard: routes drivers
- Role-based routes → Owner dashboard: routes owners
- Role-based routes → Admin dashboard: routes admins
- Driver dashboard → Reservation workflow: manage bookings
- Reservation workflow → Reservation handling: booking requests
- Reservation handling → Booking rules: delegates booking
- Booking rules → Reservation records: reads/writes
- Reservation handling → Stripe checkout: creates checkout
- Stripe checkout → Stripe: creates session
- Stripe checkout → Payment records: saves pending payment
- Stripe checkout → Reservation records: loads reservation
- Payment management → Payment records: reads/writes payments
- Payment management → Reservation records: updates booking state
- Driver dashboard → AI recommendations: requests recommendations
- AI recommendations → Recommendation scoring: calculates recommendation
- Recommendation scoring → Parking records: loads parking places
- Service appointments → Appointment API: appointment requests
- Appointment API → Appointment booking: delegates operations
- Appointment booking → Appointment records: reads/writes
- Service item management → Service item API: item requests
- Service item API → Service item logic: delegates operations
- Service item logic → Service item records: reads/writes
- Driver dashboard → Parking APIs: finds parking
- Owner dashboard → Slot management: manages slots
- Owner dashboard → Parking APIs: manages facilities
- Driver dashboard → Location services: selects location
