report-notebooklm-api
FastAPI service for the report-notebooklm Phase 1 public read surface.
This directory is the main engineering handoff entry for API, data model, seed import, and the NotebookLM-backed content pipeline. The companion Flutter app lives in ../report-notebooklm-app/ in the same monorepo.
Read First
- docs/HANDOFF.md: current progress, solved issues, open issues, and handoff order.
- docs/PROJECT_BRIEF.md: product and Phase 1 scope snapshot.
- docs/API_AND_DATA.md: data tables, endpoints, implemented vs planned API.
- docs/CONTENT_PIPELINE.md: report source and NotebookLM artifact flow.
- docs/RUNBOOK.md: local setup, seed import, smoke checks, and deployment checks.
- docs/ROADMAP_AND_OPEN_ISSUES.md: next engineering work.
- docs/SOURCE_INDEX.md: source document names used for this handoff snapshot.
Product Boundary
This repo contains 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 研听.
Local Quick Start
Create a .env file with the backend services available to your environment:
RNB_DATABASE_URL=mysql+asyncmy://<db-user>:<db-pass>@<db-host>:<db-port>/report_notebooklm
RNB_REDIS_URL=redis://<host>:<port>/0
RNB_REDIS_KEY_PREFIX=rnb:
Then run:
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
alembic upgrade head
python scripts/import_seed_content.py
uvicorn app.main:app --reload --host <bind-host> --port <port>
API prefix: /api/report-notebooklm/v1
Verify
source .venv/bin/activate
pytest -q
Recommended smoke checks after the service starts:
API_BASE_URL=http://<api-host>:<port>/api/report-notebooklm/v1
curl "$API_BASE_URL/health"
curl "$API_BASE_URL/feed/recommended"
curl "$API_BASE_URL/reports/rep_ssga_gold"