# anxnas/delivery-service-platform architecture

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

- Interactive diagram: https://gitdiagram.com/anxnas/delivery-service-platform
- Repository: https://github.com/anxnas/delivery-service-platform

## Overview

A delivery-service platform with an administrator web dashboard, courier mobile app, and Django REST API. Administrators and couriers authenticate, then view, filter, create, edit, complete, and inspect deliveries; the web dashboard also presents delivery analytics and reference catalogs. The graph separates client workflows, API handling, domain data, and persistence. README documents PostgreSQL and JWT, but the sampled source does not establish the database wiring or every route; those links are therefore omitted or marked unverified.

Main entry points: [`frontend/src/pages/DashboardPage.js`](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/pages/DashboardPage.js) (Dashboard), [`mobile/src/navigation/AppNavigator.tsx`](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/navigation/AppNavigator.tsx) (App Navigation), [`backend/config/urls.py`](https://github.com/anxnas/delivery-service-platform/blob/main/backend/config/urls.py) (API Routing), [`mobile/src/api/deliveryService.ts`](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/deliveryService.ts) (Mobile Delivery Service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Admin Web"]
  node_web_app["Web App Routing<br/>[App.js]"]
  node_web_auth["Web Authentication<br/>[AuthContext.js]"]
  node_web_auth_service["Web Auth Service<br/>[authService.js]"]
  node_web_http["Web API Client<br/>[api.js]"]
  node_dashboard["Dashboard<br/>[DashboardPage.js]"]
  node_web_filters["Delivery Filters<br/>[DeliveryFilters.js]"]
  node_web_table["Delivery Table<br/>[DeliveryTable.js]"]
  node_web_analytics["Charts and Stats<br/>[DeliveryChart.js]"]
  node_web_delivery_service["Web Delivery Service<br/>[deliveryService.js]"]
  node_web_catalog_service["Catalog Service<br/>[catalogService.js]"]
end

subgraph group_mobile["Courier Mobile"]
  node_mobile_app["Mobile App<br/>[App.tsx]"]
  node_mobile_auth["Mobile Authentication<br/>[AuthContext.tsx]"]
  node_mobile_auth_service["Mobile Auth Service<br/>[authService.ts]"]
  node_mobile_http["Mobile API Client<br/>[apiClient.ts]"]
  node_mobile_nav["App Navigation<br/>[AppNavigator.tsx]"]
  node_delivery_screens["Delivery Screens"]
  node_delivery_create["Create Delivery"]
  node_delivery_detail["Delivery Details"]
  node_delivery_edit["Edit Delivery"]
  node_profile["Courier Profile<br/>[ProfileScreen.tsx]"]
  node_mobile_delivery_service["Mobile Delivery Service<br/>[deliveryService.ts]"]
  node_reference_service["Reference Service"]
end

subgraph group_api["Backend API"]
  node_backend_routes["API Routing<br/>[urls.py]"]
  node_delivery_api["Delivery API<br/>[delivery.py]"]
  node_reference_api["Reference API"]
  node_analytics_api["Analytics API<br/>[analytics.py]"]
  node_user_api["User API<br/>[user.py]"]
  node_delivery_serializers["Delivery Serializers<br/>[delivery_detail.py]"]
  node_reference_serializers["Reference Serializers"]
  node_analytics_serializers["Analytics Serializers<br/>[analytics.py]"]
end

subgraph group_domain["Delivery Domain"]
  node_delivery_models["Delivery Models<br/>[delivery.py]"]
  node_reference_models["Reference Models"]
end

subgraph group_data["Persistence"]
end

node_admin(("Administrator"))
node_courier(("Courier"))

node_admin -->|"uses"| node_web_app
node_web_app -->|"checks access"| node_web_auth
node_web_app -->|"routes to"| node_dashboard
node_dashboard -->|"requests deliveries"| node_web_delivery_service
node_dashboard -->|"requests catalogs"| node_web_catalog_service
node_dashboard -->|"renders"| node_web_filters
node_dashboard -->|"renders"| node_web_table
node_dashboard -->|"renders"| node_web_analytics
node_web_delivery_service -->|"sends requests"| node_web_http
node_web_catalog_service -->|"sends requests"| node_web_http
node_web_auth -->|"authenticates"| node_web_auth_service
node_web_auth_service -->|"sends requests"| node_web_http
node_web_http -.->|"HTTP API"| node_backend_routes
node_courier -->|"uses"| node_mobile_app
node_mobile_app -->|"provides context"| node_mobile_auth
node_mobile_app -->|"renders"| node_mobile_nav
node_mobile_auth -->|"authenticates"| node_mobile_auth_service
node_mobile_auth_service -->|"sends requests"| node_mobile_http
node_mobile_nav -->|"routes to"| node_delivery_screens
node_mobile_nav -->|"routes to"| node_delivery_create
node_mobile_nav -->|"routes to"| node_delivery_detail
node_mobile_nav -->|"routes to"| node_delivery_edit
node_mobile_nav -->|"routes to"| node_profile
node_delivery_edit -->|"updates delivery"| node_mobile_delivery_service
node_delivery_edit -->|"loads references"| node_reference_service
node_delivery_screens -.->|"uses"| node_mobile_delivery_service
node_delivery_create -.->|"uses"| node_mobile_delivery_service
node_delivery_detail -.->|"uses"| node_mobile_delivery_service
node_mobile_delivery_service -->|"sends requests"| node_mobile_http
node_reference_service -->|"sends requests"| node_mobile_http
node_mobile_http -.->|"HTTP API"| node_backend_routes
node_backend_routes -.->|"dispatches"| node_delivery_api
node_backend_routes -.->|"dispatches"| node_reference_api
node_backend_routes -.->|"dispatches"| node_analytics_api
node_backend_routes -.->|"dispatches"| node_user_api
node_delivery_api -->|"serializes"| node_delivery_serializers
node_delivery_api -->|"queries"| node_delivery_models
node_reference_api -->|"serializes"| node_reference_serializers
node_reference_api -->|"queries"| node_reference_models
node_analytics_api -.->|"serializes"| node_analytics_serializers
node_analytics_api -.->|"analyzes"| node_delivery_models
node_delivery_models -->|"uses references"| node_reference_models

click node_web_app "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/App.js"
click node_web_auth "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/contexts/AuthContext.js"
click node_web_auth_service "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/authService.js"
click node_web_http "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/api.js"
click node_dashboard "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/pages/DashboardPage.js"
click node_web_filters "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/components/DeliveryFilters.js"
click node_web_table "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/components/DeliveryTable.js"
click node_web_analytics "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/components/DeliveryChart.js"
click node_web_delivery_service "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/deliveryService.js"
click node_web_catalog_service "https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/catalogService.js"
click node_mobile_app "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/App.tsx"
click node_mobile_auth "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/contexts/AuthContext.tsx"
click node_mobile_auth_service "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/authService.ts"
click node_mobile_http "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/apiClient.ts"
click node_mobile_nav "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/navigation/AppNavigator.tsx"
click node_delivery_screens "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/DeliveriesScreen.tsx"
click node_delivery_create "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/CreateDeliveryScreen.tsx"
click node_delivery_detail "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/DeliveryDetailsScreen.tsx"
click node_delivery_edit "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/EditDeliveryScreen.tsx"
click node_profile "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/ProfileScreen.tsx"
click node_mobile_delivery_service "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/deliveryService.ts"
click node_reference_service "https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/referenceService.ts"
click node_backend_routes "https://github.com/anxnas/delivery-service-platform/blob/main/backend/config/urls.py"
click node_delivery_api "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/delivery.py"
click node_reference_api "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/reference/devilery_service.py"
click node_analytics_api "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/analytics.py"
click node_user_api "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/user.py"
click node_delivery_serializers "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/serializers/delivery/delivery_detail.py"
click node_reference_serializers "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/serializers/reference/devilery_service.py"
click node_analytics_serializers "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/serializers/analytics.py"
click node_delivery_models "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/models/delivery.py"
click node_reference_models "https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/models/reference/devilery_service.py"

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_web_app,node_web_auth,node_web_auth_service,node_web_http,node_dashboard,node_web_filters,node_web_table,node_web_analytics,node_web_delivery_service,node_web_catalog_service toneBlue
class node_mobile_app,node_mobile_auth,node_mobile_auth_service,node_mobile_http,node_mobile_nav,node_delivery_screens,node_delivery_create,node_delivery_detail,node_delivery_edit,node_profile,node_mobile_delivery_service,node_reference_service toneAmber
class node_backend_routes,node_delivery_api,node_reference_api,node_analytics_api,node_user_api,node_delivery_serializers,node_reference_serializers,node_analytics_serializers toneMint
class node_delivery_models,node_reference_models toneRose
class node_admin,node_courier toneIndigo
```

## Components

### Admin Web

- [Web App Routing](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/App.js): `frontend/src/App.js`
- [Web Authentication](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/contexts/AuthContext.js): `frontend/src/contexts/AuthContext.js`
- [Web Auth Service](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/authService.js): `frontend/src/services/authService.js`
- [Web API Client](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/api.js): `frontend/src/services/api.js`
- [Dashboard](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/pages/DashboardPage.js): `frontend/src/pages/DashboardPage.js`
- [Delivery Filters](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/components/DeliveryFilters.js): `frontend/src/components/DeliveryFilters.js`
- [Delivery Table](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/components/DeliveryTable.js): `frontend/src/components/DeliveryTable.js`
- [Charts and Stats](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/components/DeliveryChart.js): `frontend/src/components/DeliveryChart.js`
- [Web Delivery Service](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/deliveryService.js): `frontend/src/services/deliveryService.js`
- [Catalog Service](https://github.com/anxnas/delivery-service-platform/blob/main/frontend/src/services/catalogService.js): `frontend/src/services/catalogService.js`

### Courier Mobile

- [Mobile App](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/App.tsx): `mobile/App.tsx`
- [Mobile Authentication](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/contexts/AuthContext.tsx): `mobile/src/contexts/AuthContext.tsx`
- [Mobile Auth Service](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/authService.ts): `mobile/src/api/authService.ts`
- [Mobile API Client](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/apiClient.ts): `mobile/src/api/apiClient.ts`
- [App Navigation](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/navigation/AppNavigator.tsx): `mobile/src/navigation/AppNavigator.tsx`
- [Delivery Screens](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/DeliveriesScreen.tsx): `mobile/src/screens/DeliveriesScreen.tsx`
- [Create Delivery](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/CreateDeliveryScreen.tsx): `mobile/src/screens/CreateDeliveryScreen.tsx`
- [Delivery Details](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/DeliveryDetailsScreen.tsx): `mobile/src/screens/DeliveryDetailsScreen.tsx`
- [Edit Delivery](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/EditDeliveryScreen.tsx): `mobile/src/screens/EditDeliveryScreen.tsx`
- [Courier Profile](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/screens/ProfileScreen.tsx): `mobile/src/screens/ProfileScreen.tsx`
- [Mobile Delivery Service](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/deliveryService.ts): `mobile/src/api/deliveryService.ts`
- [Reference Service](https://github.com/anxnas/delivery-service-platform/blob/main/mobile/src/api/referenceService.ts): `mobile/src/api/referenceService.ts`

### Backend API

- [API Routing](https://github.com/anxnas/delivery-service-platform/blob/main/backend/config/urls.py): `backend/config/urls.py`
- [Delivery API](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/delivery.py): `backend/api/views/delivery.py`
- [Reference API](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/reference/devilery_service.py): `backend/api/views/reference/devilery_service.py`
- [Analytics API](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/analytics.py): `backend/api/views/analytics.py`
- [User API](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/views/user.py): `backend/api/views/user.py`
- [Delivery Serializers](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/serializers/delivery/delivery_detail.py): `backend/api/serializers/delivery/delivery_detail.py`
- [Reference Serializers](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/serializers/reference/devilery_service.py): `backend/api/serializers/reference/devilery_service.py`
- [Analytics Serializers](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/serializers/analytics.py): `backend/api/serializers/analytics.py`

### Delivery Domain

- [Delivery Models](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/models/delivery.py): `backend/api/models/delivery.py`
- [Reference Models](https://github.com/anxnas/delivery-service-platform/blob/main/backend/api/models/reference/devilery_service.py): `backend/api/models/reference/devilery_service.py`

### Other components

- **Administrator**
- **Courier**

## Connections

- Administrator → Web App Routing: uses (evidence: `README.md`)
- Web App Routing → Web Authentication: checks access (evidence: `frontend/src/App.js`)
- Web App Routing → Dashboard: routes to (evidence: `frontend/src/App.js`)
- Dashboard → Web Delivery Service: requests deliveries (evidence: `frontend/src/pages/DashboardPage.js`)
- Dashboard → Catalog Service: requests catalogs (evidence: `frontend/src/pages/DashboardPage.js`)
- Dashboard → Delivery Filters: renders (evidence: `frontend/src/pages/DashboardPage.js`)
- Dashboard → Delivery Table: renders (evidence: `frontend/src/pages/DashboardPage.js`)
- Dashboard → Charts and Stats: renders (evidence: `frontend/src/pages/DashboardPage.js`)
- Web Delivery Service → Web API Client: sends requests (evidence: `frontend/src/services/deliveryService.js`)
- Catalog Service → Web API Client: sends requests (evidence: `frontend/src/services/catalogService.js`)
- Web Authentication → Web Auth Service: authenticates (evidence: `frontend/src/contexts/AuthContext.js`)
- Web Auth Service → Web API Client: sends requests (evidence: `frontend/src/services/authService.js`)
- Web API Client → API Routing: HTTP API
- Courier → Mobile App: uses (evidence: `README.md`)
- Mobile App → Mobile Authentication: provides context (evidence: `mobile/App.tsx`)
- Mobile App → App Navigation: renders (evidence: `mobile/App.tsx`)
- Mobile Authentication → Mobile Auth Service: authenticates (evidence: `mobile/src/contexts/AuthContext.tsx`)
- Mobile Auth Service → Mobile API Client: sends requests (evidence: `mobile/src/api/authService.ts`)
- App Navigation → Delivery Screens: routes to (evidence: `mobile/src/navigation/AppNavigator.tsx`)
- App Navigation → Create Delivery: routes to (evidence: `mobile/src/navigation/AppNavigator.tsx`)
- App Navigation → Delivery Details: routes to (evidence: `mobile/src/navigation/AppNavigator.tsx`)
- App Navigation → Edit Delivery: routes to (evidence: `mobile/src/navigation/AppNavigator.tsx`)
- App Navigation → Courier Profile: routes to (evidence: `mobile/src/navigation/AppNavigator.tsx`)
- Edit Delivery → Mobile Delivery Service: updates delivery (evidence: `mobile/src/screens/EditDeliveryScreen.tsx`)
- Edit Delivery → Reference Service: loads references (evidence: `mobile/src/screens/EditDeliveryScreen.tsx`)
- Delivery Screens → Mobile Delivery Service: uses
- Create Delivery → Mobile Delivery Service: uses
- Delivery Details → Mobile Delivery Service: uses
- Mobile Delivery Service → Mobile API Client: sends requests (evidence: `mobile/src/api/deliveryService.ts`)
- Reference Service → Mobile API Client: sends requests (evidence: `mobile/src/api/referenceService.ts`)
- Mobile API Client → API Routing: HTTP API
- API Routing → Delivery API: dispatches
- API Routing → Reference API: dispatches
- API Routing → Analytics API: dispatches
- API Routing → User API: dispatches
- Delivery API → Delivery Serializers: serializes (evidence: `backend/api/views/delivery.py`)
- Delivery API → Delivery Models: queries (evidence: `backend/api/views/delivery.py`)
- Reference API → Reference Serializers: serializes (evidence: `backend/api/views/reference/devilery_service.py`)
- Reference API → Reference Models: queries (evidence: `backend/api/views/reference/devilery_service.py`)
- Analytics API → Analytics Serializers: serializes
- Analytics API → Delivery Models: analyzes
- Delivery Models → Reference Models: uses references (evidence: `backend/api/models/delivery.py`)
