Cross-platform Flutter app for police officers to view and manage duty schedules. Offline-first, clean architecture (domain / data / presentation), Riverpod for state and DI.
- Calendar with month navigation, duty groups, and multiple schedule configs (e.g. Bereitschaftspolizei, ESD)
- Generated rotations from JSON configs in
assets/schedules/ - Partner schedule, custom accent colors, school/public holidays (state selection; holiday data via Mehr-Schulferien.de)
- German and English; data stays on device; optional Sentry (can be disabled)
git clone https://github.com/lusu007/dienstplan.git
cd dienstplan
flutter pub get
flutter runRelease APK example: flutter build apk --release. Prebuilt APKs: GitHub Releases.
- SDK: Dart
>=3.10.0 <4.0.0(see pubspec.yaml); Flutter stable recommended. - Codegen:
dart run build_runner build --delete-conflicting-outputsafter changing Freezed / Riverpod / routes. - Structure:
lib/core(DI, init, cache),lib/domain,lib/data,lib/presentation. Providers live inlib/core/di/riverpod_providers.dart(generated.g.dartalongside). - Details: workflow, standards, and deeper architecture notes are in CONTRIBUTING.md.
Fork, branch, test (flutter test), open a PR. See CONTRIBUTING.md. Questions: GitHub Discussions.
AGPL-3.0. Using or distributing modified versions requires complying with AGPL terms (including source availability where applicable).
School/public holiday data via Mehr-Schulferien.de (GitHub). Third-party licenses are listed in the in-app About screen.
