# HHA Logistics - Flutter App Diese Flutter-Anwendung liegt im Monorepo unter `app/`. Das zugehoerige Spring Boot + Vaadin Backend liegt daneben unter `../backend/`. Eine moderne, optisch ansprechende Flutter-App für die Hamburger Hochbahn (HHA) zur Verwaltung von Logistik-Prozessen. ## Features ### Kernfunktionen - **Tour-Management**: Übersichtliche Darstellung aller Touren und Stationen - **Barcode-Scanning**: Schnelles Erfassen von Objekten per Kamera - **State-Management**: Automatische Zustandsübergänge für Objekte - **Offline-Unterstützung**: Lokale Datenspeicherung mit Synchronisation - **Echtzeit-Sync**: Automatische Aktualisierung der Daten ### Objekttypen - **Geldkassetten** (MEK, BEK) - **HP Patronen** (H1, H2, H3) - **Fahrkartenrollen** - **Safebags** (Wertsachenbehälter) - **Container** ### Stationstypen - Lager (Beladung/Rückgabe) - Dienststellen - Haltestellen - Fahrscheinautomaten - Versorgungsstellen - Geldinstitute ## Technischer Stack ### Architektur - **Clean Architecture**: Trennung von Domain, Data und Presentation Layer - **BLoC Pattern**: State Management mit flutter_bloc - **Repository Pattern**: Abstraktion der Datenquellen ### UI/UX - **Material Design 3**: Modernes, konsistentes Design - **Flutter Animate**: Flüssige Animationen - **Phosphor Icons**: Hochwertige Icons - **Google Fonts**: Inter als Hausschrift ### Technologien - **Mobile Scanner**: Barcode-Scanning - **SQFlite**: Lokale Datenbank - **Dio**: HTTP-Client für API-Kommunikation - **Shared Preferences**: Lokale Einstellungen ## Projektstruktur ``` app/ ├── lib/ │ ├── core/ │ ├── data/ │ ├── domain/ │ └── presentation/ ├── android/ ├── build/ ├── pubspec.yaml └── run_app.sh ``` ## Installation ### Voraussetzungen - Flutter SDK >= 3.0.0 - Dart SDK >= 3.0.0 - Android Studio / Xcode ### Setup 1. Repository klonen: ```bash git clone cd hha_logistics cd app ``` 2. Dependencies installieren: ```bash flutter pub get ``` 3. Code-Generierung ausführen: ```bash flutter pub run build_runner build ``` 4. App starten: ```bash flutter run ``` ## Konfiguration ### API-Endpunkt Die API-URL wird in `lib/core/constants/app_constants.dart` konfiguriert: ```dart static const String baseUrl = 'https://hha-app1.assecutor.de/hha'; ``` ### Berechtigungen #### Android (android/app/src/main/AndroidManifest.xml) ```xml ``` #### iOS (ios/Runner/Info.plist) ```xml NSCameraUsageDescription Kamera wird für Barcode-Scanning benötigt ``` ## Fachlicher Workflow ### 1. Login & Datensynchronisation - Anmeldung mit Geräte-IMEI - Automatischer Datenabgleich mit Server - Lokale Speicherung für Offline-Nutzung ### 2. Tour-Übersicht - Liste aller Stationen der aktuellen Tour - Fortschrittsanzeige - Unterscheidung zwischen offenen und erledigten Stationen ### 3. Station-Arbeit - Barcode-Scanning zur Identifikation - Automatische State-Machine für Zustandsübergänge - Manuelle Barcode-Eingabe möglich ### 4. State-Machine Die App implementiert folgende Zustandsübergänge: - `unknown` → `to_delivery` → `delivery` → `station` → `in_fa` → `ret_gi` → `fin_gi` - Fehlerfälle: `ret_fail` → `ret_fail_fzg` → `ret_fail_stk` - Dienststelle: `ret_ds` → `ret_ds_fzg` → `fin_ds` ### 5. Bestandsführung - Echtzeit-Anzeige aller Objekte - Filterung nach Status und Typ - Quittungsverwaltung für Geldkassetten ## Design-System ### Farben - **Primary**: HHA Rot (#E3001B) - **Success**: Grün (#4CAF50) - **Warning**: Orange (#FF9800) - **Error**: Rot (#E3001B) ### State Colors - `delivery`: Grau (#B3B3B3) - `station`: Gelb (#FFDD00) - `in_fa`: Grün (#9CDA7A) - `ret_fail`: Rot (#FF9081) - `ret_ds`: Hellblau (#AFE0ED) - `fin_ds`: Blau (#29B7FB) ## Entwicklung ### Code-Generierung Nach Änderungen an Modellen: ```bash flutter pub run build_runner build --delete-conflicting-outputs ``` ### Tests ausführen ```bash flutter test ``` ### Release Build ```bash # Android flutter build apk --release flutter build appbundle --release # iOS flutter build ios --release ``` ## Lizenz Copyright © 2024 Hamburger Hochbahn AG ## Support Bei Fragen oder Problemen wenden Sie sich an: - IT-Support: support@hha.de - Entwicklung: dev@hha.de