# edzone29/taxidash architecture

> Architecture diagram of the GitHub repository edzone29/taxidash, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/edzone29/taxidash
- Repository: https://github.com/edzone29/taxidash

## Overview

TaxiDash is a role-based taxi booking and ride-management application. A passenger starts a booking, searches for a driver, submits payment proof, and follows pickup/drop-off progress; the sampled search page explicitly routes accepted bookings to payment or later ride stages. The tree also shows driver and admin workflows, messaging, support, ratings, and SOS capabilities, but their wiring was not sampled. Shared PHP partials provide session/role checks and page layout. The repository also vendors scssphp for styling; only its integration point is shown, so its internal compilation flow is not expanded here.

Main entry points: [`-/client-1book.php`](https://github.com/edzone29/taxidash/blob/main/-/client-1book.php) (Start booking), [`php/conn.php`](https://github.com/edzone29/taxidash/blob/main/php/conn.php) (TaxiDash database), [`-/client-3search-driver.php`](https://github.com/edzone29/taxidash/blob/main/-/client-3search-driver.php) (Find driver), [`-/client-2proceed-booking.php`](https://github.com/edzone29/taxidash/blob/main/-/client-2proceed-booking.php) (Booking details)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ride["Passenger rides"]
  node_booking["Start booking<br/>[client-1book.php]"]
  node_proceed["Booking details"]
  node_driver_search["Find driver"]
  node_payment["Submit payment"]
  node_repayment["Retry payment"]
  node_pickup["Pickup tracking<br/>[client-6pickup.php]"]
  node_dropoff["Drop-off"]
  node_completion["Ride completion"]
  node_ride_api["Ride endpoints"]
  node_payment_details["Payment details API"]
end

subgraph group_shared["Shared web layer"]
  node_auth["Authentication<br/>[auth.php]"]
  node_session["Session gate<br/>[session.php]"]
  node_client_guard["Passenger guard<br/>[guard-client.php]"]
  node_layout["Page layout<br/>[main.php]"]
  node_booking_steps["Booking stepper"]
  node_client_navigation["Passenger navigation<br/>[client-menu.php]"]
  node_database[("TaxiDash database<br/>[conn.php]")]
end

subgraph group_operations["Operations and support"]
  node_driver_ops["Driver workflows"]
  node_admin_ops["Admin workflows"]
  node_messaging["Ride messaging<br/>[client-chat.php]"]
  node_support["Customer support"]
  node_ratings_sos["Ratings and SOS<br/>[submit-rating.php]"]
end

subgraph group_styling["Styling compiler"]
  node_scss_compiler["SCSS compiler<br/>[Compiler.php]"]
end

node_passenger(("Passenger"))

node_passenger -->|"starts"| node_booking
node_booking -.->|"continues"| node_proceed
node_proceed -.->|"requests driver"| node_driver_search
node_driver_search -->|"routes accepted ride"| node_payment
node_driver_search -->|"routes ride status"| node_pickup
node_driver_search -->|"routes ride status"| node_dropoff
node_payment -->|"fetches details"| node_payment_details
node_payment_details -->|"loads data"| node_database
node_repayment -.->|"uses connection"| node_database
node_passenger -.->|"authenticates"| node_session
node_booking -->|"checks role"| node_client_guard
node_booking -->|"starts session"| node_session
node_booking -->|"includes layout"| node_layout
node_booking -->|"renders steps"| node_booking_steps
node_booking -->|"includes navigation"| node_client_navigation
node_booking -->|"connects"| node_database
node_layout -->|"loads compiler"| node_scss_compiler
node_driver_ops -.->|"uses ride services"| node_ride_api
node_admin_ops -.->|"manages rides"| node_ride_api
node_messaging -.->|"uses messaging data"| node_database
node_support -.->|"uses support data"| node_database
node_ratings_sos -.->|"stores reports"| node_database

click node_booking "https://github.com/edzone29/taxidash/blob/main/-/client-1book.php"
click node_proceed "https://github.com/edzone29/taxidash/blob/main/-/client-2proceed-booking.php"
click node_driver_search "https://github.com/edzone29/taxidash/blob/main/-/client-3search-driver.php"
click node_payment "https://github.com/edzone29/taxidash/blob/main/-/client-4payment.php"
click node_repayment "https://github.com/edzone29/taxidash/blob/main/-/client-4repayment.php"
click node_pickup "https://github.com/edzone29/taxidash/blob/main/-/client-6pickup.php"
click node_dropoff "https://github.com/edzone29/taxidash/blob/main/-/client-7dropoff1.php"
click node_completion "https://github.com/edzone29/taxidash/blob/main/-/client-complete.php"
click node_ride_api "https://github.com/edzone29/taxidash/tree/main/php"
click node_payment_details "https://github.com/edzone29/taxidash/blob/main/php/get-client-payment-details.php"
click node_auth "https://github.com/edzone29/taxidash/blob/main/php/auth.php"
click node_session "https://github.com/edzone29/taxidash/blob/main/-/partials/session.php"
click node_client_guard "https://github.com/edzone29/taxidash/blob/main/-/partials/guard-client.php"
click node_layout "https://github.com/edzone29/taxidash/blob/main/-/partials/main.php"
click node_booking_steps "https://github.com/edzone29/taxidash/blob/main/-/partials/booking-stepper.php"
click node_client_navigation "https://github.com/edzone29/taxidash/blob/main/-/partials/client-menu.php"
click node_database "https://github.com/edzone29/taxidash/blob/main/php/conn.php"
click node_driver_ops "https://github.com/edzone29/taxidash/blob/main/-/driver-dashboard.php"
click node_admin_ops "https://github.com/edzone29/taxidash/blob/main/-/admin-dashboard.php"
click node_messaging "https://github.com/edzone29/taxidash/blob/main/-/client-chat.php"
click node_support "https://github.com/edzone29/taxidash/blob/main/-/client-customer-support.php"
click node_ratings_sos "https://github.com/edzone29/taxidash/blob/main/php/submit-rating.php"
click node_scss_compiler "https://github.com/edzone29/taxidash/blob/main/-/scssphp/src/Compiler.php"

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_booking,node_proceed,node_driver_search,node_payment,node_repayment,node_pickup,node_dropoff,node_completion,node_ride_api,node_payment_details toneBlue
class node_auth,node_session,node_client_guard,node_layout,node_booking_steps,node_client_navigation,node_database toneAmber
class node_driver_ops,node_admin_ops,node_messaging,node_support,node_ratings_sos toneMint
class node_scss_compiler toneRose
class node_passenger toneIndigo
```

## Components

### Passenger rides

- [Start booking](https://github.com/edzone29/taxidash/blob/main/-/client-1book.php): `-/client-1book.php`
- [Booking details](https://github.com/edzone29/taxidash/blob/main/-/client-2proceed-booking.php): `-/client-2proceed-booking.php`
- [Find driver](https://github.com/edzone29/taxidash/blob/main/-/client-3search-driver.php): `-/client-3search-driver.php`
- [Submit payment](https://github.com/edzone29/taxidash/blob/main/-/client-4payment.php): `-/client-4payment.php`
- [Retry payment](https://github.com/edzone29/taxidash/blob/main/-/client-4repayment.php): `-/client-4repayment.php`
- [Pickup tracking](https://github.com/edzone29/taxidash/blob/main/-/client-6pickup.php): `-/client-6pickup.php`
- [Drop-off](https://github.com/edzone29/taxidash/blob/main/-/client-7dropoff1.php): `-/client-7dropoff1.php`
- [Ride completion](https://github.com/edzone29/taxidash/blob/main/-/client-complete.php): `-/client-complete.php`
- [Ride endpoints](https://github.com/edzone29/taxidash/tree/main/php): `php`
- [Payment details API](https://github.com/edzone29/taxidash/blob/main/php/get-client-payment-details.php): `php/get-client-payment-details.php`

### Shared web layer

- [Authentication](https://github.com/edzone29/taxidash/blob/main/php/auth.php): `php/auth.php`
- [Session gate](https://github.com/edzone29/taxidash/blob/main/-/partials/session.php): `-/partials/session.php`
- [Passenger guard](https://github.com/edzone29/taxidash/blob/main/-/partials/guard-client.php): `-/partials/guard-client.php`
- [Page layout](https://github.com/edzone29/taxidash/blob/main/-/partials/main.php): `-/partials/main.php`
- [Booking stepper](https://github.com/edzone29/taxidash/blob/main/-/partials/booking-stepper.php): `-/partials/booking-stepper.php`
- [Passenger navigation](https://github.com/edzone29/taxidash/blob/main/-/partials/client-menu.php): `-/partials/client-menu.php`
- [TaxiDash database](https://github.com/edzone29/taxidash/blob/main/php/conn.php): `php/conn.php`

### Operations and support

- [Driver workflows](https://github.com/edzone29/taxidash/blob/main/-/driver-dashboard.php): `-/driver-dashboard.php`
- [Admin workflows](https://github.com/edzone29/taxidash/blob/main/-/admin-dashboard.php): `-/admin-dashboard.php`
- [Ride messaging](https://github.com/edzone29/taxidash/blob/main/-/client-chat.php): `-/client-chat.php`
- [Customer support](https://github.com/edzone29/taxidash/blob/main/-/client-customer-support.php): `-/client-customer-support.php`
- [Ratings and SOS](https://github.com/edzone29/taxidash/blob/main/php/submit-rating.php): `php/submit-rating.php`

### Styling compiler

- [SCSS compiler](https://github.com/edzone29/taxidash/blob/main/-/scssphp/src/Compiler.php): `-/scssphp/src/Compiler.php`

### Other components

- **Passenger**

## Connections

- Passenger → Start booking: starts
- Start booking → Booking details: continues
- Booking details → Find driver: requests driver
- Find driver → Submit payment: routes accepted ride (evidence: `-/client-3search-driver.php`)
- Find driver → Pickup tracking: routes ride status (evidence: `-/client-3search-driver.php`)
- Find driver → Drop-off: routes ride status (evidence: `-/client-3search-driver.php`)
- Submit payment → Payment details API: fetches details (evidence: `-/client-4payment.php`)
- Payment details API → TaxiDash database: loads data (evidence: `php/get-client-payment-details.php`)
- Retry payment → TaxiDash database: uses connection
- Passenger → Session gate: authenticates
- Start booking → Passenger guard: checks role (evidence: `-/client-1book.php`)
- Start booking → Session gate: starts session (evidence: `-/client-1book.php`)
- Start booking → Page layout: includes layout (evidence: `-/client-1book.php`)
- Start booking → Booking stepper: renders steps (evidence: `-/client-1book.php`)
- Start booking → Passenger navigation: includes navigation (evidence: `-/client-1book.php`)
- Start booking → TaxiDash database: connects (evidence: `-/client-1book.php`)
- Page layout → SCSS compiler: loads compiler (evidence: `-/partials/main.php`)
- Driver workflows → Ride endpoints: uses ride services
- Admin workflows → Ride endpoints: manages rides
- Ride messaging → TaxiDash database: uses messaging data
- Customer support → TaxiDash database: uses support data
- Ratings and SOS → TaxiDash database: stores reports
