# disomimba/mobile-inventory-system architecture

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

- Interactive diagram: https://gitdiagram.com/disomimba/mobile-inventory-system
- Repository: https://github.com/disomimba/mobile-inventory-system

## Overview

Inventory Plus is a cross-platform Flutter inventory and store-operations application. Its tree indicates workflows for signing in, browsing and locating stock, scanning or visually searching for items, managing inventory, and handling sales and orders. It also includes a separate FastAPI image-analysis backend with a YOLO model. The README is empty and the sampled source does not include the Flutter application logic, so connections among its screens and to the backend are not asserted.

Main entry points: [`inventory_plus/ai_backend/main.py`](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/ai_backend/main.py) (Frame analysis API), [`inventory_plus/ai_backend/best.pt`](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/ai_backend/best.pt) (YOLO model)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Flutter application"]
  node_entry["App entry<br/>[main.dart]"]
  node_auth["Authentication<br/>[auth_service.dart]"]
  node_loginui["Login screens<br/>[login_page.dart]"]
  node_navigation["Main screen<br/>[main_screen.dart]"]
  node_dashboard["Dashboard"]
end

subgraph group_inventory["Inventory and discovery"]
  node_inventoryui["Inventory views"]
  node_itemdata["Inventory data<br/>[inventory.dart]"]
  node_controller["Inventory controller"]
  node_additem["Add item<br/>[add_item_page.dart]"]
  node_itemdetail["Item details"]
  node_scanner["Scanner search"]
  node_visualsearch["Visual search"]
  node_localmodel["TFLite model"]
  node_map["Store map<br/>[store_map.dart]"]
  node_mapeditor["Map editor"]
end

subgraph group_operations["Store operations"]
  node_pos["POS cart<br/>[pos_cart_page.dart]"]
  node_orders["Order queue"]
  node_history["Transaction history"]
  node_staff["Staff management"]
  node_profile["Profile and settings"]
end

subgraph group_ai["Image analysis"]
  node_aiapi["Frame analysis API<br/>[main.py]"]
  node_yolo["YOLO model<br/>[best.pt]"]
end

node_user(("Staff user"))

node_aiapi -->|"runs inference"| node_yolo

click node_entry "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/main.dart"
click node_auth "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/login/auth_service.dart"
click node_loginui "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/login_page.dart"
click node_navigation "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/main_screen.dart"
click node_dashboard "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/dashboard_page.dart"
click node_inventoryui "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/inventory_page.dart"
click node_itemdata "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/data/inventory.dart"
click node_controller "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/logic/inventory_controller.dart"
click node_additem "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/add_item_page.dart"
click node_itemdetail "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/item_detail_page.dart"
click node_scanner "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/scanner_search_page.dart"
click node_visualsearch "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/visual_search_page.dart"
click node_localmodel "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/assets/models/best_float32.tflite"
click node_map "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/store_map.dart"
click node_mapeditor "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/map_editor_page.dart"
click node_pos "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/pos_cart_page.dart"
click node_orders "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/order_queue_page.dart"
click node_history "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/transaction_history_page.dart"
click node_staff "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/staff_management_page.dart"
click node_profile "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/profile_info_page.dart"
click node_aiapi "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/ai_backend/main.py"
click node_yolo "https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/ai_backend/best.pt"

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_entry,node_auth,node_loginui,node_navigation,node_dashboard,node_user toneBlue
class node_inventoryui,node_itemdata,node_controller,node_additem,node_itemdetail,node_scanner,node_visualsearch,node_localmodel,node_map,node_mapeditor toneAmber
class node_pos,node_orders,node_history,node_staff,node_profile toneMint
class node_aiapi,node_yolo toneRose
```

## Components

### Flutter application

- [App entry](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/main.dart): `inventory_plus/lib/main.dart`
- [Authentication](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/login/auth_service.dart): `inventory_plus/lib/login/auth_service.dart`
- [Login screens](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/login_page.dart): `inventory_plus/lib/ui/login_page.dart`
- [Main screen](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/main_screen.dart): `inventory_plus/lib/ui/main_screen.dart`
- [Dashboard](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/dashboard_page.dart): `inventory_plus/lib/ui/dashboard_page.dart`

### Inventory and discovery

- [Inventory views](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/inventory_page.dart): `inventory_plus/lib/ui/inventory_page.dart`
- [Inventory data](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/data/inventory.dart): `inventory_plus/lib/data/inventory.dart`
- [Inventory controller](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/logic/inventory_controller.dart): `inventory_plus/lib/logic/inventory_controller.dart`
- [Add item](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/add_item_page.dart): `inventory_plus/lib/ui/add_item_page.dart`
- [Item details](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/item_detail_page.dart): `inventory_plus/lib/ui/item_detail_page.dart`
- [Scanner search](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/scanner_search_page.dart): `inventory_plus/lib/ui/scanner_search_page.dart`
- [Visual search](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/visual_search_page.dart): `inventory_plus/lib/ui/visual_search_page.dart`
- [TFLite model](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/assets/models/best_float32.tflite): `inventory_plus/assets/models/best_float32.tflite`
- [Store map](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/store_map.dart): `inventory_plus/lib/ui/store_map.dart`
- [Map editor](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/map_editor_page.dart): `inventory_plus/lib/ui/map_editor_page.dart`

### Store operations

- [POS cart](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/pos_cart_page.dart): `inventory_plus/lib/ui/pos_cart_page.dart`
- [Order queue](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/order_queue_page.dart): `inventory_plus/lib/ui/order_queue_page.dart`
- [Transaction history](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/transaction_history_page.dart): `inventory_plus/lib/ui/transaction_history_page.dart`
- [Staff management](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/staff_management_page.dart): `inventory_plus/lib/ui/staff_management_page.dart`
- [Profile and settings](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/lib/ui/profile_info_page.dart): `inventory_plus/lib/ui/profile_info_page.dart`

### Image analysis

- [Frame analysis API](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/ai_backend/main.py): `inventory_plus/ai_backend/main.py`
- [YOLO model](https://github.com/disomimba/mobile-inventory-system/blob/main/inventory_plus/ai_backend/best.pt): `inventory_plus/ai_backend/best.pt`

### Other components

- **Staff user**

## Connections

- Frame analysis API → YOLO model: runs inference
