first commit

This commit is contained in:
2026-03-24 15:03:35 +01:00
commit cdba16ebe8
162 changed files with 194406 additions and 0 deletions

196
app/README.md Normal file
View File

@@ -0,0 +1,196 @@
# 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 <repository-url>
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
<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)
```xml
<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:
```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