This project was generated with the help of OpenAI Codex.
Event Album is a Flutter application for capturing, organising, and analysing archery practice sessions on iOS and Android devices. The app leans on Material 3 design, smooth transitions, and an intuitive bottom navigation layout to keep memories easy to create and revisit.
- Bottom Navigation with Home, Activities, and Settings tabs powered by Material 3
NavigationBar. - Home highlights the most recent activities, quick capture shortcuts, and polished hero animations to detail pages.
- Activities shows every album in a responsive grid, supporting rename, delete, and photo capture directly within each entry.
- Activity Detail renders an interactive archery target with tap-to-score arrows, per-round totals, optional photos, and long-press removal.
- Settings exposes theme selection (light/dark/system), default naming templates, configurable storage path, and an About section.
- State Management:
flutter_blocwith dedicated blocs/cubits per feature. - Data Layer: Repositories backed by local storage (
path_provider) plus camera/gallery input viaimage_picker. - Settings Persistence:
shared_preferencesretains user preferences across launches. - Folder Structure:
lib/ blocs/ # Activity, activity detail, settings, navigation data/ models/ # Core entities (Activity, ArcheryRound, ArrowHit, AppSettings) repositories/ # Activity & settings repositories services/ # Storage helpers theme/ # Light & dark Material 3 themes ui/ activities/ common/ home/ root/ settings/ main.dart
- Install dependencies:
flutter pub get
- Run on a connected device or emulator:
flutter run
- Execute static analysis and tests:
flutter analyze flutter test
Make sure camera and photo library permissions are declared in AndroidManifest.xml and Info.plist before distributing the app.
-
put jks in to
android\app\album-flutter-codex.jks -
set
android\key.propertieslike below:storePassword=你的keystore密碼 keyPassword=你的key密碼 keyAlias=my-key-alias storeFile=my-release-key.jks
-
run
flutter build appbundle --release