# alexaako548/larga architecture

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

- Interactive diagram: https://gitdiagram.com/alexaako548/larga
- Repository: https://github.com/alexaako548/larga

## Overview

LARGA is a taxi-operations platform with a MAUI driver/manager app and an ASP.NET/Blazor administrative dashboard. The main evidenced runtime path is driver login through Firebase authentication and role lookup, followed by role-based navigation; the messaging path listens for and sends chat through Firestore. Other services and shared models cover shifts, finances, fleet maintenance, and telemetry. README capabilities such as OCR, SOS, maps, inventory, and audit analytics are retained, but their implementation wiring is not shown in the sampled source.

Main entry points: [`LARGA.MobileApp`](https://github.com/alexaako548/larga/tree/main/LARGA.MobileApp) (Driver App), [`LARGA.ManagerWeb`](https://github.com/alexaako548/larga/tree/main/LARGA.ManagerWeb) (Manager Dashboard), [`LARGA.MobileApp/ViewModels/Auth/LoginViewModel.cs`](https://github.com/alexaako548/larga/blob/main/LARGA.MobileApp/ViewModels/Auth/LoginViewModel.cs) (Role Login), [`LARGA.SharedCore/Services/FirebaseAuthService.cs`](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FirebaseAuthService.cs) (Firebase Auth)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["User Applications"]
  node_driver["Driver App<br/>[LARGA.MobileApp]"]
  node_manager["Manager Dashboard<br/>[LARGA.ManagerWeb]"]
end

subgraph group_workflows["Operations Workflows"]
  node_login["Role Login<br/>[LoginViewModel.cs]"]
  node_driverdash["Driver Dashboard"]
  node_chatui["Manager Messaging"]
  node_shift["Shift Operations"]
  node_finance["Boundary &amp; Fuel"]
  node_fleet["Fleet Maintenance<br/>[FleetService.cs]"]
  node_telemetry["GPS &amp; Safety"]
  node_inventory["Parts Inventory<br/>[FleetService.cs]"]
  node_ocr["Fuel OCR<br/>[LARGA.MobileApp]"]
  node_audit["Analytics &amp; Audit<br/>[Entities]"]
end

subgraph group_services["Shared Services"]
  node_authsvc["Firebase Auth"]
  node_chatsvc["Chat Service<br/>[ChatService.cs]"]
end

subgraph group_domain["Domain Data"]
  node_shiftdata["Shift Records<br/>[ShiftLog.cs]"]
  node_payments["Boundary Payments<br/>[BoundaryPayment.cs]"]
  node_fueldata["Fuel Logs<br/>[FuelLog.cs]"]
  node_fleetdata["Taxi &amp; Maintenance"]
  node_partsdata["Parts Usage"]
  node_chatdata["Chat Messages<br/>[ChatMessage.cs]"]
end

node_firestore[("Cloud Firestore")]
node_firebaseauth(("Firebase Authentication"))
node_maps["MapLibre &amp; MapTiler"]
node_storage[("Firebase Storage")]
node_fcm["Firebase Messaging"]
node_mlkit["Google ML Kit"]

node_driver -.->|"uses"| node_login
node_login -->|"authenticates"| node_authsvc
node_authsvc -->|"signs in"| node_firebaseauth
node_authsvc -->|"reads role"| node_firestore
node_login -->|"routes driver"| node_driverdash
node_driverdash -->|"opens messages"| node_chatui
node_chatui -->|"sends &amp; listens"| node_chatsvc
node_chatsvc -->|"reads &amp; writes"| node_firestore
node_chatsvc -->|"serializes"| node_chatdata
node_shift -->|"uses records"| node_shiftdata
node_finance -->|"uses records"| node_payments
node_finance -->|"uses records"| node_fueldata
node_fleet -->|"reads &amp; writes"| node_fleetdata
node_fleet -->|"logs usage"| node_partsdata
node_manager -.->|"supports operations"| node_shift
node_manager -.->|"supports cashiering"| node_finance
node_manager -.->|"supports maintenance"| node_fleet
node_manager -.->|"supports inventory"| node_inventory
node_driver -.->|"supports shifts"| node_shift
node_driver -.->|"scans receipts"| node_ocr
node_driver -.->|"reports location"| node_telemetry
node_driver -.->|"receives alerts"| node_fcm
node_driver -.->|"uploads photos"| node_storage
node_ocr -.->|"extracts text"| node_mlkit
node_manager -.->|"monitors fleet"| node_maps
node_manager -.->|"views summaries"| node_audit

click node_driver "https://github.com/alexaako548/larga/tree/main/LARGA.MobileApp"
click node_manager "https://github.com/alexaako548/larga/tree/main/LARGA.ManagerWeb"
click node_login "https://github.com/alexaako548/larga/blob/main/LARGA.MobileApp/ViewModels/Auth/LoginViewModel.cs"
click node_driverdash "https://github.com/alexaako548/larga/blob/main/LARGA.MobileApp/ViewModels/Driver/DriverDashboardViewModel.cs"
click node_chatui "https://github.com/alexaako548/larga/blob/main/LARGA.MobileApp/ViewModels/Driver/MessageManagerViewModel.cs"
click node_shift "https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/ShiftManagementService.cs"
click node_finance "https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FinancialService.cs"
click node_fleet "https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FleetService.cs"
click node_telemetry "https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/TelemetryServices.cs"
click node_inventory "https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FleetService.cs"
click node_ocr "https://github.com/alexaako548/larga/tree/main/LARGA.MobileApp"
click node_audit "https://github.com/alexaako548/larga/tree/main/LARGA.Shared.Models/Entities"
click node_authsvc "https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FirebaseAuthService.cs"
click node_chatsvc "https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/ChatService.cs"
click node_shiftdata "https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/ShiftLog.cs"
click node_payments "https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/BoundaryPayment.cs"
click node_fueldata "https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/FuelLog.cs"
click node_fleetdata "https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/MaintenanceRecord.cs"
click node_partsdata "https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/MaintenancePartsUsed.cs"
click node_chatdata "https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/ChatMessage.cs"

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_driver,node_manager toneBlue
class node_login,node_driverdash,node_chatui,node_shift,node_finance,node_fleet,node_telemetry,node_inventory,node_ocr,node_audit,node_firestore,node_storage toneAmber
class node_authsvc,node_chatsvc toneMint
class node_shiftdata,node_payments,node_fueldata,node_fleetdata,node_partsdata,node_chatdata toneRose
class node_firebaseauth,node_maps,node_fcm,node_mlkit toneIndigo
```

## Components

### User Applications

- [Driver App](https://github.com/alexaako548/larga/tree/main/LARGA.MobileApp): `LARGA.MobileApp`
- [Manager Dashboard](https://github.com/alexaako548/larga/tree/main/LARGA.ManagerWeb): `LARGA.ManagerWeb`

### Operations Workflows

- [Role Login](https://github.com/alexaako548/larga/blob/main/LARGA.MobileApp/ViewModels/Auth/LoginViewModel.cs): `LARGA.MobileApp/ViewModels/Auth/LoginViewModel.cs`
- [Driver Dashboard](https://github.com/alexaako548/larga/blob/main/LARGA.MobileApp/ViewModels/Driver/DriverDashboardViewModel.cs): `LARGA.MobileApp/ViewModels/Driver/DriverDashboardViewModel.cs`
- [Manager Messaging](https://github.com/alexaako548/larga/blob/main/LARGA.MobileApp/ViewModels/Driver/MessageManagerViewModel.cs): `LARGA.MobileApp/ViewModels/Driver/MessageManagerViewModel.cs`
- [Shift Operations](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/ShiftManagementService.cs): `LARGA.SharedCore/Services/ShiftManagementService.cs`
- [Boundary & Fuel](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FinancialService.cs): `LARGA.SharedCore/Services/FinancialService.cs`
- [Fleet Maintenance](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FleetService.cs): `LARGA.SharedCore/Services/FleetService.cs`
- [GPS & Safety](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/TelemetryServices.cs): `LARGA.SharedCore/Services/TelemetryServices.cs`
- [Parts Inventory](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FleetService.cs): `LARGA.SharedCore/Services/FleetService.cs`
- [Fuel OCR](https://github.com/alexaako548/larga/tree/main/LARGA.MobileApp): `LARGA.MobileApp`
- [Analytics & Audit](https://github.com/alexaako548/larga/tree/main/LARGA.Shared.Models/Entities): `LARGA.Shared.Models/Entities`

### Shared Services

- [Firebase Auth](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/FirebaseAuthService.cs): `LARGA.SharedCore/Services/FirebaseAuthService.cs`
- [Chat Service](https://github.com/alexaako548/larga/blob/main/LARGA.SharedCore/Services/ChatService.cs): `LARGA.SharedCore/Services/ChatService.cs`

### Domain Data

- [Shift Records](https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/ShiftLog.cs): `LARGA.Shared.Models/Entities/ShiftLog.cs`
- [Boundary Payments](https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/BoundaryPayment.cs): `LARGA.Shared.Models/Entities/BoundaryPayment.cs`
- [Fuel Logs](https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/FuelLog.cs): `LARGA.Shared.Models/Entities/FuelLog.cs`
- [Taxi & Maintenance](https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/MaintenanceRecord.cs): `LARGA.Shared.Models/Entities/MaintenanceRecord.cs`
- [Parts Usage](https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/MaintenancePartsUsed.cs): `LARGA.Shared.Models/Entities/MaintenancePartsUsed.cs`
- [Chat Messages](https://github.com/alexaako548/larga/blob/main/LARGA.Shared.Models/Entities/ChatMessage.cs): `LARGA.Shared.Models/Entities/ChatMessage.cs`

### Other components

- **Cloud Firestore**
- **Firebase Authentication**
- **MapLibre & MapTiler**
- **Firebase Storage**
- **Firebase Messaging**
- **Google ML Kit**

## Connections

- Driver App → Role Login: uses (evidence: `LARGA.MobileApp/MauiProgram.cs`)
- Role Login → Firebase Auth: authenticates (evidence: `LARGA.MobileApp/ViewModels/Auth/LoginViewModel.cs`)
- Firebase Auth → Firebase Authentication: signs in (evidence: `LARGA.SharedCore/Services/FirebaseAuthService.cs`)
- Firebase Auth → Cloud Firestore: reads role (evidence: `LARGA.SharedCore/Services/FirebaseAuthService.cs`)
- Role Login → Driver Dashboard: routes driver (evidence: `LARGA.MobileApp/ViewModels/Auth/LoginViewModel.cs`)
- Driver Dashboard → Manager Messaging: opens messages (evidence: `LARGA.MobileApp/ViewModels/Driver/DriverDashboardViewModel.cs`)
- Manager Messaging → Chat Service: sends & listens (evidence: `LARGA.MobileApp/ViewModels/Driver/MessageManagerViewModel.cs`)
- Chat Service → Cloud Firestore: reads & writes (evidence: `LARGA.SharedCore/Services/ChatService.cs`)
- Chat Service → Chat Messages: serializes (evidence: `LARGA.SharedCore/Services/ChatService.cs`)
- Shift Operations → Shift Records: uses records (evidence: `LARGA.SharedCore/Services/ShiftManagementService.cs`)
- Boundary & Fuel → Boundary Payments: uses records (evidence: `LARGA.SharedCore/Services/FinancialService.cs`)
- Boundary & Fuel → Fuel Logs: uses records (evidence: `LARGA.SharedCore/Services/FinancialService.cs`)
- Fleet Maintenance → Taxi & Maintenance: reads & writes (evidence: `LARGA.SharedCore/Services/FleetService.cs`)
- Fleet Maintenance → Parts Usage: logs usage (evidence: `LARGA.SharedCore/Services/FleetService.cs`)
- Manager Dashboard → Shift Operations: supports operations
- Manager Dashboard → Boundary & Fuel: supports cashiering
- Manager Dashboard → Fleet Maintenance: supports maintenance
- Manager Dashboard → Parts Inventory: supports inventory
- Driver App → Shift Operations: supports shifts
- Driver App → Fuel OCR: scans receipts
- Driver App → GPS & Safety: reports location
- Driver App → Firebase Messaging: receives alerts
- Driver App → Firebase Storage: uploads photos
- Fuel OCR → Google ML Kit: extracts text
- Manager Dashboard → MapLibre & MapTiler: monitors fleet
- Manager Dashboard → Analytics & Audit: views summaries
