Files
HHA/app
2026-03-24 15:03:35 +01:00
..
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00
2026-03-24 15:03:35 +01:00

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:
git clone <repository-url>
cd hha_logistics
cd app
  1. Dependencies installieren:
flutter pub get
  1. Code-Generierung ausführen:
flutter pub run build_runner build
  1. 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:

  • unknownto_deliverydeliverystationin_faret_gifin_gi
  • Fehlerfälle: ret_failret_fail_fzgret_fail_stk
  • Dienststelle: ret_dsret_ds_fzgfin_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: