2026-06-10 13:38:11 -07:00
|
|
|
# Buzz Mobile
|
2026-04-13 09:55:14 -07:00
|
|
|
|
2026-06-10 13:38:11 -07:00
|
|
|
Flutter mobile client for Buzz.
|
2026-04-13 09:55:14 -07:00
|
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd mobile
|
|
|
|
|
flutter pub get
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Run
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-29 18:26:24 -04:00
|
|
|
# From repo root (recommended — starts Docker, relay, and simulator):
|
|
|
|
|
just mobile-dev
|
|
|
|
|
|
|
|
|
|
# Direct (requires services and relay already running):
|
|
|
|
|
cd mobile && flutter run
|
2026-04-13 09:55:14 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Checks
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
dart format --output=none --set-exit-if-changed .
|
|
|
|
|
flutter analyze
|
|
|
|
|
flutter test
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Or from the repo root: `just mobile-check` and `just mobile-test`.
|
|
|
|
|
|
|
|
|
|
## Architecture
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
lib/
|
|
|
|
|
├── main.dart # Entry point, Riverpod bootstrap
|
|
|
|
|
├── app.dart # MaterialApp with theme
|
|
|
|
|
├── shared/
|
|
|
|
|
│ └── theme/ # Catppuccin light/dark, spacing tokens, extensions
|
|
|
|
|
└── features/
|
|
|
|
|
└── home/ # Placeholder home surface
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- **State management:** Riverpod + Hooks (`HookConsumerWidget`)
|
|
|
|
|
- **Theme:** Catppuccin Latte (light) / Macchiato (dark) — matches desktop
|
|
|
|
|
- **Spacing:** `Grid` tokens for consistent spacing
|
|
|
|
|
- **Linting:** `flutter_lints` + `riverpod_lint` via `custom_lint`
|
|
|
|
|
- **Feature isolation:** No cross-feature imports except `shared/`
|