55 lines
1.5 KiB
Markdown
55 lines
1.5 KiB
Markdown
# Focus Seed
|
|
|
|
Focus Seed is a private, offline-first focus timer, habit tracker, and daily reflection app built with Flutter.
|
|
|
|
## V1 Product Loop
|
|
|
|
1. Choose one anchor task for today.
|
|
2. Complete a focused session.
|
|
3. Check off small habits.
|
|
4. Save a one-minute reflection.
|
|
5. Review the seven-day pulse.
|
|
|
|
## Architecture
|
|
|
|
The app uses a modular feature structure under `lib/src`:
|
|
|
|
- `app`: application shell and theme
|
|
- `core`: date, JSON, and collection utilities
|
|
- `data`: local persistence boundary
|
|
- `models`: serializable domain models
|
|
- `services`: analytics and monetization interfaces
|
|
- `features`: user-facing product flows
|
|
- `widgets`: reusable UI components
|
|
|
|
See `launch/architecture.md` for the complete responsibility map.
|
|
|
|
## Privacy
|
|
|
|
Version 1.0.0 has no account system, server, advertising SDK, analytics SDK, billing SDK, or sensitive Android permissions. User data remains on the device unless the user explicitly exports it.
|
|
|
|
## Development
|
|
|
|
```text
|
|
flutter pub get
|
|
flutter analyze
|
|
flutter test
|
|
flutter run
|
|
```
|
|
|
|
Release build:
|
|
|
|
```text
|
|
flutter build appbundle --release
|
|
```
|
|
|
|
The upload keystore and `key.properties` are intentionally excluded from Git. Keep them backed up securely because future Play updates require the same upload key.
|
|
|
|
## Version Control
|
|
|
|
- `main`: sealed, releasable versions only
|
|
- `v1.0.0`: immutable tag for the first Google Play testing release
|
|
- `codex/1.0.1`: active product-quality and experience development
|
|
|
|
See `docs/branching-and-releases.md` before creating release or feature branches.
|