Flutter mobile app for notes, tasks, calendar, study timer, and OTA updates. Part of the Danendz services ecosystem.
| Framework | Flutter (Dart >= 3.10.3) |
| State management | Riverpod + Provider |
| HTTP client | Dio |
| Navigation | GoRouter |
| Rich text editor | Flutter Quill |
| Error tracking | Sentry / GlitchTip |
| Audio | audioplayers |
| Background tasks | flutter_foreground_task |
- Notes — rich text editor (Flutter Quill), create/edit/delete
- Tasks — todo lists with folders, categories, and filters
- Calendar — recurring plans (daily/weekly/interval/monthly), countdowns, weekly overview
- Study Timer — Pomodoro-style timer with foreground service, subjects, stats
- OTA Updates — version check against backend, APK download and sideload, update dialog with changelog
Prerequisites:
- Flutter SDK (stable channel)
- Java 17 (for Android builds)
- Android emulator or physical device
# 1. Copy and configure environment
cp .env.example .env # or create .env manually (see below)
# 2. Install dependencies
flutter pub get
# 3. Run the app
flutter runCreate a .env file in the project root:
AUTH_API_URL=http://10.0.2.2:8082/api/auth
MARQUER_API_URL=http://10.0.2.2:8081/api/marquer
GLITCHTIP_DSN=10.0.2.2is the Android emulator loopback to the host machineGLITCHTIP_DSN— leave empty to disable error reporting locally
# Release APK
flutter build apk --release
# Static analysis
flutter analyzeGitHub Actions workflows:
| Workflow | Trigger | Action |
|---|---|---|
pr-title.yml |
PR opened/edited | Validates PR title format |
build.yml |
Push to main |
Builds release APK, uploads to S3, notifies backend |
pr-build.yml |
PR to main |
Build gate — ensures APK compiles before merge |
OTA update flow:
- CI builds release APK
- Uploads to MinIO (S3)
- Notifies Marquer Backend at
/internal/app-releasesvia GitHub OIDC - App checks
/app/lateston launch and prompts user to update
All PRs must follow: <type>: <description>
| Type | Changelog effect |
|---|---|
feat, fix, hotfix |
Individual bullet in update dialog |
chore, refactor, docs, test, bump |
Collapsed into "Performance improvements and minor bug fixes" |
Examples: feat: dark mode support, fix: crash on task creation, bump: 1.1.7