82 lines
1.9 KiB
Markdown
82 lines
1.9 KiB
Markdown
# App Runbook
|
|
|
|
This is a handoff snapshot, not the product SSOT.
|
|
|
|
Product SSOT: mall-docs report-notebooklm docs, snapshot date: 2026-06-03.
|
|
|
|
## Requirements
|
|
|
|
- Flutter 3.44.1 / Dart 3.12.1 or compatible newer versions.
|
|
- A backend API serving `/api/report-notebooklm/v1`.
|
|
- Android SDK and accepted licenses for Android builds.
|
|
- Chrome for web debug.
|
|
|
|
Check tool versions:
|
|
|
|
```bash
|
|
flutter --version
|
|
dart --version
|
|
flutter doctor -v
|
|
```
|
|
|
|
If dependency solving reports that Dart is older than required, switch to a Flutter SDK that includes Dart 3.12.1 or newer.
|
|
|
|
## API Base URL
|
|
|
|
The App requires an explicit API base URL:
|
|
|
|
```bash
|
|
--dart-define=RNB_API_BASE=<api-base-url>
|
|
```
|
|
|
|
Examples:
|
|
|
|
```bash
|
|
RNB_API_BASE=http://<debug-api-host>:<port>/api/report-notebooklm/v1
|
|
RNB_API_BASE=https://<api-domain>/api/report-notebooklm/v1
|
|
```
|
|
|
|
Use cleartext HTTP only for local debug builds. Release builds must use HTTPS.
|
|
|
|
## Web Run
|
|
|
|
```bash
|
|
flutter run -d chrome --dart-define=RNB_API_BASE=<api-base-url>
|
|
```
|
|
|
|
## Android Emulator Run
|
|
|
|
Start the backend on the host, then:
|
|
|
|
```bash
|
|
flutter devices
|
|
flutter run -d <emulator-id> --dart-define=RNB_API_BASE=<emulator-api-base-url>
|
|
```
|
|
|
|
## Same-Network Android Device
|
|
|
|
Start the backend on a host/port reachable from the device, then:
|
|
|
|
```bash
|
|
flutter run -d <device-id> --dart-define=RNB_API_BASE=http://<host-lan-ip>:<port>/api/report-notebooklm/v1
|
|
```
|
|
|
|
Use this only for debug. Do not hardcode LAN IPs in source code.
|
|
|
|
## Verify
|
|
|
|
```bash
|
|
flutter analyze
|
|
flutter test
|
|
flutter build web --dart-define=RNB_API_BASE=<api-base-url>
|
|
flutter build apk --debug --dart-define=RNB_API_BASE=<emulator-api-base-url>
|
|
```
|
|
|
|
## Release Notes
|
|
|
|
- Release builds must not allow cleartext traffic.
|
|
- Production API base must be passed explicitly.
|
|
- Release signing is not finalized in this scaffold.
|
|
- Final app icon and store metadata are not finalized.
|
|
- Do not commit build outputs, APKs, screenshots, `.dart_tool/`, or local IDE caches.
|