# nexgenspeak-max/ai-powered-driver-assistant architecture

> Architecture diagram of the GitHub repository nexgenspeak-max/ai-powered-driver-assistant, 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/nexgenspeak-max/ai-powered-driver-assistant
- Repository: https://github.com/nexgenspeak-max/ai-powered-driver-assistant

## Overview

This is a ride-hailing platform with customer and driver apps, operational/admin tools, backend services, and a voice-agent runtime. The likely user journey spans booking or dispatch, trip execution, and status/context updates; the tree also shows identity, call records, messaging, telephony, and voice capabilities. The README is empty and most implementation was not sampled, so cross-service links are included only where the excerpt or tree-backed feature names support them. The driver-context links reflect the sampled implementation.

Main entry points: [`src/backend/external-api-service/src/services/driverContextService.ts`](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/driverContextService.ts) (Party context), [`src/backend/external-api-service/src`](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-api-service/src) (External API), [`src/frontend/admin-panel/src`](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/frontend/admin-panel/src) (Admin panel), [`src/backend/llm-orchestrator/app/voicebot`](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/llm-orchestrator/app/voicebot) (Voice agents)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["User Clients"]
  node_customer["Customer app"]
  node_driver["Driver app"]
  node_admin["Admin panel"]
end

subgraph group_backend["Backend Services"]
  node_external_api["External API"]
  node_identity["Identity service"]
  node_records["Call records"]
  node_channels["Channel service"]
  node_context["Party context"]
  node_trips["Trip service<br/>[tripService.ts]"]
  node_driver_data["Driver services<br/>[driverService.ts]"]
  node_earnings["Earnings service<br/>[earningsService.ts]"]
  node_settings["Driver settings"]
  node_routing["Route optimization"]
end

subgraph group_voice["Voice Runtime"]
  node_orchestrator["Voice orchestrator"]
  node_voice_agents["Voice agents"]
  node_voice_tools["Agent tools"]
end

subgraph group_operations["Operations"]
  node_ops["Ops service"]
end

subgraph group_integrations["External Integrations"]
  node_redis[("Redis cache<br/>[redis.ts]")]
  node_telephony["Telephony adapters"]
  node_maps["Maps providers"]
end

node_user(("Customer / driver"))

node_user -->|"uses booking"| node_customer
node_user -->|"uses trips"| node_driver
node_user -->|"operates"| node_admin
node_customer -.->|"requests services"| node_external_api
node_driver -.->|"requests services"| node_external_api
node_admin -.->|"authenticates"| node_identity
node_admin -.->|"manages trips"| node_external_api
node_context -->|"loads driver"| node_driver_data
node_context -->|"lists trips"| node_trips
node_context -->|"loads earnings"| node_earnings
node_context -->|"loads settings"| node_settings
node_context -->|"gets route"| node_routing
node_context -->|"reads / caches"| node_redis
node_voice_agents -.->|"uses driver context"| node_context
node_voice_agents -.->|"invokes tools"| node_voice_tools
node_external_api -.->|"supports calling"| node_telephony
node_external_api -.->|"supports places"| node_maps
node_ops -.->|"serves operations"| node_records
node_channels -.->|"handles calls"| node_telephony

click node_customer "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/frontend/customer-app/app/(app)"
click node_driver "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/frontend/driver-app/src"
click node_admin "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/frontend/admin-panel/src"
click node_external_api "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-api-service/src"
click node_identity "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/identity-service/src"
click node_records "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/call-records-service/src"
click node_channels "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-channel-service/src"
click node_context "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/driverContextService.ts"
click node_trips "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/tripService.ts"
click node_driver_data "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/driverService.ts"
click node_earnings "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/earningsService.ts"
click node_settings "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/driverSettingsService.ts"
click node_routing "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/routeOptimizationService.ts"
click node_redis "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/cache/redis.ts"
click node_orchestrator "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/llm-orchestrator/app"
click node_voice_agents "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/llm-orchestrator/app/voicebot"
click node_voice_tools "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/llm-orchestrator/app/tools"
click node_telephony "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-api-service/src/services/telephony"
click node_maps "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-api-service/src/services/maps"
click node_ops "https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/ops-service/src"

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_customer,node_driver,node_admin toneBlue
class node_external_api,node_identity,node_records,node_channels,node_context,node_trips,node_driver_data,node_earnings,node_settings,node_routing toneAmber
class node_orchestrator,node_voice_agents,node_voice_tools toneMint
class node_ops toneRose
class node_redis,node_telephony,node_maps,node_user toneIndigo
```

## Components

### User Clients

- [Customer app](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/frontend/customer-app/app/(app)): `src/frontend/customer-app/app/(app)`
- [Driver app](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/frontend/driver-app/src): `src/frontend/driver-app/src`
- [Admin panel](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/frontend/admin-panel/src): `src/frontend/admin-panel/src`

### Backend Services

- [External API](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-api-service/src): `src/backend/external-api-service/src`
- [Identity service](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/identity-service/src): `src/backend/identity-service/src`
- [Call records](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/call-records-service/src): `src/backend/call-records-service/src`
- [Channel service](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-channel-service/src): `src/backend/external-channel-service/src`
- [Party context](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/driverContextService.ts): `src/backend/external-api-service/src/services/driverContextService.ts`
- [Trip service](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/tripService.ts): `src/backend/external-api-service/src/services/tripService.ts`
- [Driver services](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/driverService.ts): `src/backend/external-api-service/src/services/driverService.ts`
- [Earnings service](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/earningsService.ts): `src/backend/external-api-service/src/services/earningsService.ts`
- [Driver settings](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/driverSettingsService.ts): `src/backend/external-api-service/src/services/driverSettingsService.ts`
- [Route optimization](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/services/routeOptimizationService.ts): `src/backend/external-api-service/src/services/routeOptimizationService.ts`

### Voice Runtime

- [Voice orchestrator](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/llm-orchestrator/app): `src/backend/llm-orchestrator/app`
- [Voice agents](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/llm-orchestrator/app/voicebot): `src/backend/llm-orchestrator/app/voicebot`
- [Agent tools](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/llm-orchestrator/app/tools): `src/backend/llm-orchestrator/app/tools`

### Operations

- [Ops service](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/ops-service/src): `src/backend/ops-service/src`

### External Integrations

- [Redis cache](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/blob/master/src/backend/external-api-service/src/cache/redis.ts): `src/backend/external-api-service/src/cache/redis.ts`
- [Telephony adapters](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-api-service/src/services/telephony): `src/backend/external-api-service/src/services/telephony`
- [Maps providers](https://github.com/nexgenspeak-max/ai-powered-driver-assistant/tree/master/src/backend/external-api-service/src/services/maps): `src/backend/external-api-service/src/services/maps`

### Other components

- **Customer / driver**

## Connections

- Customer / driver → Customer app: uses booking
- Customer / driver → Driver app: uses trips
- Customer / driver → Admin panel: operates
- Customer app → External API: requests services
- Driver app → External API: requests services
- Admin panel → Identity service: authenticates
- Admin panel → External API: manages trips
- Party context → Driver services: loads driver
- Party context → Trip service: lists trips
- Party context → Earnings service: loads earnings
- Party context → Driver settings: loads settings
- Party context → Route optimization: gets route
- Party context → Redis cache: reads / caches
- Voice agents → Party context: uses driver context
- Voice agents → Agent tools: invokes tools
- External API → Telephony adapters: supports calling
- External API → Maps providers: supports places
- Ops service → Call records: serves operations
- Channel service → Telephony adapters: handles calls
