mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-05-17 10:29:49 -05:00
da85aedefb
Implement the missing Flutter data layer so release builds compile: Dio ApiClient for /api/v1 (timer, time entries, projects, tasks, finance, time-off, users/me), JSON models, Hive LocalStorage, and offline SyncService queue. Add OpenTelemetry (opentelemetry package) with initMobileOpenTelemetry() reading OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_TOKEN via --dart-define, matching server OTLP base URL and Basic auth behavior. Instrument login token validation, timer start/stop, and sync pending. Fix SyncUseCase to import storage SyncService, use trusted insecure hosts, and call syncAll(). GitHub Actions (build-mobile.yml, cd-release.yml): run flutter test; pass OTLP secrets into flutter build apk/appbundle/ios; switch iOS CI to release simulator builds and package build/ios/iphonesimulator/Runner.app to avoid requiring an Apple Development Team for generic device builds. .gitignore: allow tracking mobile/lib/data/ despite the repo-wide data/ ignore rule.
70 lines
1.4 KiB
YAML
70 lines
1.4 KiB
YAML
name: timetracker_mobile
|
|
description: TimeTracker mobile app for Android and iOS
|
|
publish_to: 'none'
|
|
version: 4.18.0+1
|
|
|
|
environment:
|
|
sdk: '>=3.0.0 <4.0.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
|
|
# State Management
|
|
flutter_riverpod: ^2.4.9
|
|
|
|
# HTTP Client
|
|
dio: ^5.4.0
|
|
|
|
# Local Database
|
|
hive: ^2.2.3
|
|
hive_flutter: ^1.1.0
|
|
path_provider: ^2.1.1
|
|
|
|
# Secure Storage
|
|
flutter_secure_storage: ^9.0.0
|
|
|
|
# Background Tasks
|
|
workmanager: ^0.9.0+3
|
|
|
|
# Notifications
|
|
flutter_local_notifications: ^17.2.1
|
|
permission_handler: ^11.1.0
|
|
|
|
# UI Components
|
|
intl: ^0.18.1
|
|
table_calendar: ^3.0.9
|
|
|
|
# Utilities
|
|
shared_preferences: ^2.2.2
|
|
connectivity_plus: ^5.0.2
|
|
timeago: ^3.6.1
|
|
package_info_plus: ^8.0.0
|
|
google_fonts: ^8.0.0
|
|
|
|
# OpenTelemetry OTLP/HTTP traces (same env names as server: OTEL_EXPORTER_OTLP_* via --dart-define)
|
|
opentelemetry: ^0.18.11
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^3.0.0
|
|
hive_generator: ^2.0.1
|
|
build_runner: ^2.4.7
|
|
flutter_launcher_icons: ^0.14.0
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
|
|
assets:
|
|
- assets/icon/
|
|
|
|
flutter_launcher_icons:
|
|
android: true
|
|
# iOS icons are generated in CI / on macOS using `flutter_launcher_icons_ios.yaml`
|
|
# because the iOS project files (Runner.xcodeproj) may not exist on Windows.
|
|
ios: false
|
|
image_path: "assets/icon/app_icon.png"
|
|
adaptive_icon_background: "#4A90E2"
|
|
adaptive_icon_foreground: "assets/icon/app_icon.png"
|