chore: prepare yanting monorepo handoff

This commit is contained in:
2026-06-03 10:39:03 +09:00
commit 634ae98dec
65 changed files with 5144 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
# report-notebooklm-app
Flutter client for the report-notebooklm Phase 1 app shell.
The backend API lives in `../report-notebooklm-api/` in the same monorepo. API/data/content-pipeline details are documented there; this directory focuses on App handoff, UI state, build commands, and integration notes.
## Read First
- [docs/HANDOFF.md](docs/HANDOFF.md): current App state, implemented screens, placeholders, and next work.
- [docs/PROJECT_BRIEF.md](docs/PROJECT_BRIEF.md): product and Phase 1 scope snapshot.
- [docs/APP_RUNBOOK.md](docs/APP_RUNBOOK.md): Flutter version, local run, web build, Android debug build, and verification.
- [docs/API_CONTRACT_NOTES.md](docs/API_CONTRACT_NOTES.md): endpoints and fields consumed by the App.
- [docs/PROJECT_MAP.md](docs/PROJECT_MAP.md): source tree map.
## Product Boundary
This repo contains App code and an engineering handoff snapshot. It is not the product source of truth.
Product SSOT: mall-docs report-notebooklm docs. Snapshot date: 2026-06-03.
Use `report-notebooklm` and `rnb` for technical identifiers. The user-facing product name is `研听`.
## Requirements
- Flutter 3.44.1 / Dart 3.12.1 or compatible newer versions.
- A running backend that serves `/api/report-notebooklm/v1`.
- For Android builds: Android SDK, accepted licenses, and an emulator or device.
## API Base URL
The App intentionally has no built-in live API default. Pass the backend base URL explicitly:
```bash
flutter run -d chrome --dart-define=RNB_API_BASE=<api-base-url>
```
Android emulator:
```bash
flutter run -d <emulator-id> --dart-define=RNB_API_BASE=<emulator-api-base-url>
```
Same-network Android device:
```bash
flutter run -d <device-id> --dart-define=RNB_API_BASE=http://<host-lan-ip>:<port>/api/report-notebooklm/v1
```
Only use cleartext HTTP for debug builds. Release builds must use HTTPS.
## 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>
```
## Current App Scope
Implemented:
- Five bottom tabs: 推荐, 研报, 机构, 听单, 我的.
- API-backed feed, report list, institution list, listen list, institution detail, and report detail.
- Module renderer registry for inline and card-plus-page modules.
- Product display name `研听`.
- Local UI placeholders for login, favorite, outbound confirmation, and playback progress.
Not implemented yet:
- Real auth.
- Real favorite/history/saved-listen sync.
- Real playable audio stream.
- Real outbound event write.
- Production API domain.
- Release signing, final icon, and final store metadata.