# christian-elias38/car-maintenance-tracker- architecture

> Architecture diagram of the GitHub repository christian-elias38/car-maintenance-tracker-, 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/christian-elias38/car-maintenance-tracker-
- Repository: https://github.com/christian-elias38/car-maintenance-tracker-

## Overview

Car Maintenance Tracker is a Flutter app for recording and managing vehicle maintenance. Its documented user workflow is to create, view, edit, and delete service records, with Provider-managed state, a repository layer, and HTTP access to MockAPI; loading and error feedback support that workflow. The tree also shows vehicle, fuel-expense, reminder, profile, authentication, and AI-assistant feature areas, but their behavior and wiring are not documented in the supplied excerpts. Those areas are therefore represented without guessed connections.

Main entry points: [`lib/features/maintenance/data/repositories/maintenance_repository.dart`](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/repositories/maintenance_repository.dart) (Maintenance repository), [`lib/features/maintenance/data/services/maintenance_service.dart`](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/services/maintenance_service.dart) (Maintenance HTTP service), [`lib/features/maintenance/presentation/screens`](https://github.com/christian-elias38/car-maintenance-tracker-/tree/main/lib/features/maintenance/presentation/screens) (Maintenance screens), [`lib/features/maintenance/presentation/providers/maintenance_provider.dart`](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/presentation/providers/maintenance_provider.dart) (Maintenance state)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_maintenance["Maintenance records"]
  node_maintenance_ui["Maintenance screens"]
  node_maintenance_state["Maintenance state"]
  node_maintenance_repo["Maintenance repository"]
  node_maintenance_service["Maintenance HTTP service"]
  node_maintenance_model["Maintenance record"]
end

subgraph group_vehicle["Vehicle management"]
  node_vehicle_ui["Vehicle screens"]
  node_vehicle_state["Vehicle state"]
  node_vehicle_model["Vehicle data<br/>[vehicle_model.dart]"]
end

subgraph group_supporting["Related features"]
  node_fuel_costs["Fuel costs"]
  node_fuel_log["Fuel log"]
  node_reminders["Reminders"]
  node_reminder_state["Reminder state"]
  node_auth["Authentication<br/>[login_screen.dart]"]
  node_profile["Profile settings"]
  node_ai_assistant["AI assistant"]
  node_ai_service["AI recommendations"]
end

subgraph group_app["App foundation"]
  node_navigation["Main navigation<br/>[main_screen.dart]"]
  node_app_entry["Flutter entry point<br/>[main.dart]"]
  node_api_constants["API constants<br/>[api_constants.dart]"]
end

node_driver(("Driver"))
node_mockapi[("MockAPI")]

node_driver -->|"manages records"| node_maintenance_ui
node_maintenance_ui -.->|"uses state"| node_maintenance_state
node_maintenance_state -.->|"accesses repository"| node_maintenance_repo
node_maintenance_repo -.->|"uses HTTP service"| node_maintenance_service
node_maintenance_service -->|"CRUD requests"| node_mockapi
node_maintenance_repo -.->|"handles records"| node_maintenance_model
node_vehicle_ui -.->|"uses state"| node_vehicle_state
node_vehicle_state -.->|"manages data"| node_vehicle_model
node_fuel_costs -.->|"uses log data"| node_fuel_log
node_reminders -.->|"uses state"| node_reminder_state
node_ai_assistant -.->|"requests recommendations"| node_ai_service
node_app_entry -.->|"opens navigation"| node_navigation
node_maintenance_service -.->|"uses endpoint config"| node_api_constants

click node_maintenance_ui "https://github.com/christian-elias38/car-maintenance-tracker-/tree/main/lib/features/maintenance/presentation/screens"
click node_maintenance_state "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/presentation/providers/maintenance_provider.dart"
click node_maintenance_repo "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/repositories/maintenance_repository.dart"
click node_maintenance_service "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/services/maintenance_service.dart"
click node_maintenance_model "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/models/maintenance_model.dart"
click node_vehicle_ui "https://github.com/christian-elias38/car-maintenance-tracker-/tree/main/lib/features/vehicles/presentation/screens"
click node_vehicle_state "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/vehicles/presentation/providers/vehicle_provider.dart"
click node_vehicle_model "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/vehicles/data/models/vehicle_model.dart"
click node_fuel_costs "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/expenses/presentation/screens/fuel_costs_screen.dart"
click node_fuel_log "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/expenses/data/models/fuel_log_model.dart"
click node_reminders "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/reminders/presentation/screens/reminders_screen.dart"
click node_reminder_state "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/reminders/presentation/providers/reminder_provider.dart"
click node_auth "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/auth/presentation/screens/login_screen.dart"
click node_profile "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/profile/presentation/screens/profile_settings_screen.dart"
click node_ai_assistant "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/ai_assistant/presentation/screens/ai_assistant_screen.dart"
click node_ai_service "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/ai_assistant/data/services/ai_recommendation_service.dart"
click node_navigation "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/navigation/main_screen.dart"
click node_app_entry "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/main.dart"
click node_api_constants "https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/core/constants/api_constants.dart"

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_maintenance_ui,node_maintenance_state,node_maintenance_repo,node_maintenance_service,node_maintenance_model toneBlue
class node_vehicle_ui,node_vehicle_state,node_vehicle_model,node_mockapi toneAmber
class node_fuel_costs,node_fuel_log,node_reminders,node_reminder_state,node_auth,node_profile,node_ai_assistant,node_ai_service toneMint
class node_navigation,node_app_entry,node_api_constants toneRose
class node_driver toneIndigo
```

## Components

### Maintenance records

- [Maintenance screens](https://github.com/christian-elias38/car-maintenance-tracker-/tree/main/lib/features/maintenance/presentation/screens): `lib/features/maintenance/presentation/screens`
- [Maintenance state](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/presentation/providers/maintenance_provider.dart): `lib/features/maintenance/presentation/providers/maintenance_provider.dart`
- [Maintenance repository](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/repositories/maintenance_repository.dart): `lib/features/maintenance/data/repositories/maintenance_repository.dart`
- [Maintenance HTTP service](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/services/maintenance_service.dart): `lib/features/maintenance/data/services/maintenance_service.dart`
- [Maintenance record](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/maintenance/data/models/maintenance_model.dart): `lib/features/maintenance/data/models/maintenance_model.dart`

### Vehicle management

- [Vehicle screens](https://github.com/christian-elias38/car-maintenance-tracker-/tree/main/lib/features/vehicles/presentation/screens): `lib/features/vehicles/presentation/screens`
- [Vehicle state](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/vehicles/presentation/providers/vehicle_provider.dart): `lib/features/vehicles/presentation/providers/vehicle_provider.dart`
- [Vehicle data](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/vehicles/data/models/vehicle_model.dart): `lib/features/vehicles/data/models/vehicle_model.dart`

### Related features

- [Fuel costs](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/expenses/presentation/screens/fuel_costs_screen.dart): `lib/features/expenses/presentation/screens/fuel_costs_screen.dart`
- [Fuel log](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/expenses/data/models/fuel_log_model.dart): `lib/features/expenses/data/models/fuel_log_model.dart`
- [Reminders](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/reminders/presentation/screens/reminders_screen.dart): `lib/features/reminders/presentation/screens/reminders_screen.dart`
- [Reminder state](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/reminders/presentation/providers/reminder_provider.dart): `lib/features/reminders/presentation/providers/reminder_provider.dart`
- [Authentication](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/auth/presentation/screens/login_screen.dart): `lib/features/auth/presentation/screens/login_screen.dart`
- [Profile settings](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/profile/presentation/screens/profile_settings_screen.dart): `lib/features/profile/presentation/screens/profile_settings_screen.dart`
- [AI assistant](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/ai_assistant/presentation/screens/ai_assistant_screen.dart): `lib/features/ai_assistant/presentation/screens/ai_assistant_screen.dart`
- [AI recommendations](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/ai_assistant/data/services/ai_recommendation_service.dart): `lib/features/ai_assistant/data/services/ai_recommendation_service.dart`

### App foundation

- [Main navigation](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/features/navigation/main_screen.dart): `lib/features/navigation/main_screen.dart`
- [Flutter entry point](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/main.dart): `lib/main.dart`
- [API constants](https://github.com/christian-elias38/car-maintenance-tracker-/blob/main/lib/core/constants/api_constants.dart): `lib/core/constants/api_constants.dart`

### Other components

- **Driver**
- **MockAPI**

## Connections

- Driver → Maintenance screens: manages records (evidence: `README.md`)
- Maintenance screens → Maintenance state: uses state
- Maintenance state → Maintenance repository: accesses repository
- Maintenance repository → Maintenance HTTP service: uses HTTP service
- Maintenance HTTP service → MockAPI: CRUD requests (evidence: `README.md`)
- Maintenance repository → Maintenance record: handles records
- Vehicle screens → Vehicle state: uses state
- Vehicle state → Vehicle data: manages data
- Fuel costs → Fuel log: uses log data
- Reminders → Reminder state: uses state
- AI assistant → AI recommendations: requests recommendations
- Flutter entry point → Main navigation: opens navigation
- Maintenance HTTP service → API constants: uses endpoint config
