63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# 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](docs/HANDOFF.md): current progress, solved issues, open issues, and handoff order.
|
|
- [docs/PROJECT_BRIEF.md](docs/PROJECT_BRIEF.md): product and Phase 1 scope snapshot.
|
|
- [docs/API_AND_DATA.md](docs/API_AND_DATA.md): data tables, endpoints, implemented vs planned API.
|
|
- [docs/CONTENT_PIPELINE.md](docs/CONTENT_PIPELINE.md): report source and NotebookLM artifact flow.
|
|
- [docs/RUNBOOK.md](docs/RUNBOOK.md): local setup, seed import, smoke checks, and deployment checks.
|
|
- [docs/ROADMAP_AND_OPEN_ISSUES.md](docs/ROADMAP_AND_OPEN_ISSUES.md): next engineering work.
|
|
- [docs/SOURCE_INDEX.md](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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
source .venv/bin/activate
|
|
pytest -q
|
|
```
|
|
|
|
Recommended smoke checks after the service starts:
|
|
|
|
```bash
|
|
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"
|
|
```
|