Major package upgrades: - Riverpod 2.x → 3.0.3 (breaking changes) - flutter_appauth 7.0.0 → 11.0.0 - go_router 14.0.0 → 17.0.0 - permission_handler 11.3.0 → 12.0.1 - flutter_lints 5.0.0 → 6.0.0 - animate_do 3.1.2 → 4.2.0 - Plus 41 transitive dependency updates Breaking changes fixed: Riverpod 3.0 migration: - Replace StateProvider with NotifierProvider pattern - Update .valueOrNull to proper async value handling with .future - Create LanguageNotifier and ThemeModeNotifier classes - Fix all provider async value access patterns Google Maps Navigation API updates: - Rename GoogleMapsNavigationViewController to GoogleNavigationViewController - Update Waypoint to NavigationWaypoint.withLatLngTarget - Migrate controller methods to static GoogleMapsNavigator methods - Update event listener types and callbacks Localization system fixes: - Update l10n.yaml synthetic-package configuration - Fix import paths from flutter_gen to package imports - Add errorTitle translation key for both en/fr - Remove unnecessary null-aware operators (AppLocalizations is non-nullable) - Regenerate localization files iOS/macOS configuration: - Update CocoaPods dependencies (AppAuth 1.7.5 → 2.0.0) - Create missing Profile.xcconfig files for both platforms - Sync Podfile.lock files with updated dependencies Code quality: - Fix all analyzer errors (0 errors remaining) - Resolve deprecated API usage warnings - Update async/await patterns for better error handling 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| android | ||
| assets/fonts | ||
| ios | ||
| lib | ||
| macos | ||
| test | ||
| web | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| CHECKLIST.md | ||
| CLAUDE.md | ||
| GOOGLE_MAPS_SETUP.md | ||
| GOOGLE_NAVIGATION_SETUP.md | ||
| IMPLEMENTATION_SUMMARY.md | ||
| l10n.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
| UI_UX_IMPROVEMENTS.md | ||
Plan B Logistics - Flutter Mobile App
A complete Flutter/Dart refactoring of the Plan B Logistics delivery management system. Built with Material Design 3, Svrnty brand colors, and CQRS architecture for type-safe API integration.
Overview
This is a mobile delivery management application for logistics personnel to:
- View assigned delivery routes with progress tracking
- Manage individual deliveries (complete, uncomplete, skip)
- Capture photos as delivery proof
- Call customers and navigate to delivery addresses
- Manage app settings and language preferences
- Secure authentication via OAuth2/OIDC with Keycloak
Built with:
- Flutter 3.9+ / Dart 3.9.2+
- Material Design 3 with Svrnty theming (Crimson & Slate Blue)
- Riverpod for state management
- CQRS pattern with Result error handling
- Strict typing (no
dynamic)
Quick Start
Prerequisites
- Flutter SDK 3.9.2+: Install Flutter
- Dart SDK 3.9.2+ (included with Flutter)
Setup
cd ionic-planb-logistic-app-flutter
flutter pub get
Run
flutter run # Android/iOS default device
flutter run -d chrome # Web
flutter run -d ios # iOS simulator
flutter run -d android # Android emulator
Project Structure
lib/
├── api/ # CQRS client & types
├── models/ # Data models
├── services/ # Auth service
├── providers/ # Riverpod state
├── pages/ # Login, Routes, Deliveries, Settings
├── l10n/ # Translations (EN/FR)
├── theme.dart # Svrnty Material Design 3
└── main.dart # Entry point
Key Features
- OAuth2/OIDC Authentication with Keycloak
- CQRS API Integration with Result error handling
- Riverpod State Management for reactive UI
- Internationalization (English & French)
- Material Design 3 with Svrnty brand colors
- Native Features: Camera, Phone calls, Maps
- Strict Typing: No
dynamictype allowed
Development
See CLAUDE.md for:
- Detailed architecture & patterns
- Code standards & conventions
- API integration examples
- Development workflow
Build Commands
flutter build web --release # Web
flutter build ios --release # iOS
flutter build appbundle --release # Android (Play Store)
Documentation
- CLAUDE.md - Complete development guidelines
- pubspec.yaml - Dependencies and configuration
- Flutter Docs - Official documentation
Version
1.0.0+1
Svrnty Edition