4.4 KiB
4.4 KiB
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
- Repository klonen:
git clone <repository-url>
cd hha_logistics
cd app
- Dependencies installieren:
flutter pub get
- Code-Generierung ausführen:
flutter pub run build_runner build
- App starten:
flutter run
Konfiguration
API-Endpunkt
Die API-URL wird in lib/core/constants/app_constants.dart konfiguriert:
static const String baseUrl = 'https://hha-app1.assecutor.de/hha';
Berechtigungen
Android (android/app/src/main/AndroidManifest.xml)
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
iOS (ios/Runner/Info.plist)
<key>NSCameraUsageDescription</key>
<string>Kamera wird für Barcode-Scanning benötigt</string>
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:
flutter pub run build_runner build --delete-conflicting-outputs
Tests ausführen
flutter test
Release Build
# 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