# nurasss/downtime-supervisor-app-for-android architecture

> Architecture diagram of the GitHub repository nurasss/downtime-supervisor-app-for-android, 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/nurasss/downtime-supervisor-app-for-android
- Repository: https://github.com/nurasss/downtime-supervisor-app-for-android

## Overview

Downtime Supervisor is an Android operations app for production-line downtime and maintenance, serving dispatchers, mechanics, warehouse staff, and administrators. The main user flow starts in the Compose app and exposes dashboard, equipment, work-order, inventory, analytics, and profile functions; the profile includes theme switching. Separate legacy activities cover login and role-specific scenarios. The data layer is documented as using Room locally and Retrofit for backend exchange. The README establishes these capabilities, but no application source excerpts were provided, so internal calls and screen-to-data wiring are not asserted.

Main entry points: [`app/src/main/java/com/example/downtimesupervisor/ui/MainComposeActivity.kt`](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/MainComposeActivity.kt) (Compose entry), [`app/src/main/java/com/example/downtimesupervisor/data/repository`](https://github.com/nurasss/downtime-supervisor-app-for-android/tree/main/app/src/main/java/com/example/downtimesupervisor/data/repository) (Repositories and analytics), [`app/src/main/java/com/example/downtimesupervisor/data/remote/ApiService.kt`](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/data/remote/ApiService.kt) (Retrofit API), [`app/src/main/java/com/example/downtimesupervisor/ui/screens/dashboard/DashboardScreen.kt`](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/dashboard/DashboardScreen.kt) (Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["App entry"]
  node_main_compose["Compose entry"]
end

subgraph group_compose["Compose workflow"]
  node_dashboard["Dashboard<br/>[DashboardScreen.kt]"]
  node_equipment["Equipment"]
  node_work_orders["Work orders"]
  node_inventory["Inventory<br/>[InventoryScreen.kt]"]
  node_analytics["Analytics<br/>[AnalyticsScreen.kt]"]
  node_profile["Profile and theme<br/>[ProfileScreen.kt]"]
end

subgraph group_legacy["Role workflows"]
  node_login["Role login<br/>[LoginActivity.kt]"]
  node_dispatcher["Dispatcher panel<br/>[MainActivity.kt]"]
  node_mechanic["Mechanic workflow"]
  node_warehouse["Warehouse workflow"]
  node_admin["Admin workflow<br/>[AdminActivity.kt]"]
end

subgraph group_data["Data services"]
  node_local_store[("Room storage<br/>[AppDatabase.kt]")]
  node_repositories["Repositories and analytics"]
  node_api["Retrofit API<br/>[ApiService.kt]"]
end

node_operator(("App user"))
node_backend{{"Backend service"}}

node_operator -->|"opens"| node_main_compose
node_operator -->|"signs in"| node_login
node_main_compose -->|"offers screen"| node_dashboard
node_main_compose -->|"offers screen"| node_equipment
node_main_compose -->|"offers screen"| node_work_orders
node_main_compose -->|"offers screen"| node_inventory
node_main_compose -->|"offers screen"| node_analytics
node_main_compose -->|"offers screen"| node_profile
node_repositories -.->|"uses locally"| node_local_store
node_repositories -.->|"uses for exchange"| node_api
node_api -->|"exchanges data"| node_backend

click node_main_compose "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/MainComposeActivity.kt"
click node_dashboard "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/dashboard/DashboardScreen.kt"
click node_equipment "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/equipment/EquipmentListScreen.kt"
click node_work_orders "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/workorders/WorkOrdersScreen.kt"
click node_inventory "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/inventory/InventoryScreen.kt"
click node_analytics "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/analytics/AnalyticsScreen.kt"
click node_profile "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/profile/ProfileScreen.kt"
click node_login "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/LoginActivity.kt"
click node_dispatcher "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/MainActivity.kt"
click node_mechanic "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/MechanicActivity.kt"
click node_warehouse "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/WarehouseActivity.kt"
click node_admin "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/AdminActivity.kt"
click node_local_store "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/data/local/AppDatabase.kt"
click node_repositories "https://github.com/nurasss/downtime-supervisor-app-for-android/tree/main/app/src/main/java/com/example/downtimesupervisor/data/repository"
click node_api "https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/data/remote/ApiService.kt"

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_main_compose,node_operator toneBlue
class node_dashboard,node_equipment,node_work_orders,node_inventory,node_analytics,node_profile toneAmber
class node_login,node_dispatcher,node_mechanic,node_warehouse,node_admin toneMint
class node_local_store,node_repositories,node_api toneRose
class node_backend toneIndigo
```

## Components

### App entry

- [Compose entry](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/MainComposeActivity.kt): `app/src/main/java/com/example/downtimesupervisor/ui/MainComposeActivity.kt`

### Compose workflow

- [Dashboard](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/dashboard/DashboardScreen.kt): `app/src/main/java/com/example/downtimesupervisor/ui/screens/dashboard/DashboardScreen.kt`
- [Equipment](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/equipment/EquipmentListScreen.kt): `app/src/main/java/com/example/downtimesupervisor/ui/screens/equipment/EquipmentListScreen.kt`
- [Work orders](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/workorders/WorkOrdersScreen.kt): `app/src/main/java/com/example/downtimesupervisor/ui/screens/workorders/WorkOrdersScreen.kt`
- [Inventory](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/inventory/InventoryScreen.kt): `app/src/main/java/com/example/downtimesupervisor/ui/screens/inventory/InventoryScreen.kt`
- [Analytics](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/analytics/AnalyticsScreen.kt): `app/src/main/java/com/example/downtimesupervisor/ui/screens/analytics/AnalyticsScreen.kt`
- [Profile and theme](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/ui/screens/profile/ProfileScreen.kt): `app/src/main/java/com/example/downtimesupervisor/ui/screens/profile/ProfileScreen.kt`

### Role workflows

- [Role login](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/LoginActivity.kt): `app/src/main/java/com/example/downtimesupervisor/LoginActivity.kt`
- [Dispatcher panel](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/MainActivity.kt): `app/src/main/java/com/example/downtimesupervisor/MainActivity.kt`
- [Mechanic workflow](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/MechanicActivity.kt): `app/src/main/java/com/example/downtimesupervisor/MechanicActivity.kt`
- [Warehouse workflow](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/WarehouseActivity.kt): `app/src/main/java/com/example/downtimesupervisor/WarehouseActivity.kt`
- [Admin workflow](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/AdminActivity.kt): `app/src/main/java/com/example/downtimesupervisor/AdminActivity.kt`

### Data services

- [Room storage](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/data/local/AppDatabase.kt): `app/src/main/java/com/example/downtimesupervisor/data/local/AppDatabase.kt`
- [Repositories and analytics](https://github.com/nurasss/downtime-supervisor-app-for-android/tree/main/app/src/main/java/com/example/downtimesupervisor/data/repository): `app/src/main/java/com/example/downtimesupervisor/data/repository`
- [Retrofit API](https://github.com/nurasss/downtime-supervisor-app-for-android/blob/main/app/src/main/java/com/example/downtimesupervisor/data/remote/ApiService.kt): `app/src/main/java/com/example/downtimesupervisor/data/remote/ApiService.kt`

### Other components

- **App user**
- **Backend service**

## Connections

- App user → Compose entry: opens (evidence: `README.md`)
- App user → Role login: signs in (evidence: `README.md`)
- Compose entry → Dashboard: offers screen (evidence: `README.md`)
- Compose entry → Equipment: offers screen (evidence: `README.md`)
- Compose entry → Work orders: offers screen (evidence: `README.md`)
- Compose entry → Inventory: offers screen (evidence: `README.md`)
- Compose entry → Analytics: offers screen (evidence: `README.md`)
- Compose entry → Profile and theme: offers screen (evidence: `README.md`)
- Repositories and analytics → Room storage: uses locally
- Repositories and analytics → Retrofit API: uses for exchange
- Retrofit API → Backend service: exchanges data (evidence: `README.md`)
