Files
yanting/report-notebooklm-app

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

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:

flutter run -d chrome --dart-define=RNB_API_BASE=<api-base-url>

Android emulator:

flutter run -d <emulator-id> --dart-define=RNB_API_BASE=<emulator-api-base-url>

Same-network Android device:

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

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.