docs: add data source flow guide and localize handoff READMEs
- Add docs/DATA_SOURCE_FLOW.md: end-to-end source -> NotebookLM -> storage -> App flow, source list with publish frequency, institution intro status, ingestion artifact structure, and known cadence gaps - Link the new doc from README and PROJECT_OVERVIEW indexes - Localize top-level and subproject READMEs to Chinese for handoff (pre-existing working-tree changes) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,78 +1,79 @@
|
||||
# Yanting / report-notebooklm
|
||||
# 研听 / report-notebooklm
|
||||
|
||||
`研听` is a Phase 1 app and backend for turning global institutional research reports into structured Chinese reading and listening experiences.
|
||||
`研听` 是一个第一阶段(Phase 1)的应用和后端,用来把全球机构研报转化成结构化的中文阅读与收听体验。
|
||||
|
||||
This repository is prepared as a single Gitea handoff repository for product and engineering teams.
|
||||
这个仓库被整理成单个 Gitea 交接仓库,供产品和工程团队接手使用。
|
||||
|
||||
## What Is In This Repository
|
||||
## 仓库里有什么
|
||||
|
||||
| Area | Path | Description |
|
||||
| 区域 | 路径 | 说明 |
|
||||
|---|---|---|
|
||||
| Backend API | `report-notebooklm-api/` | FastAPI service, MySQL models, Alembic migration, seed importer, public read API. |
|
||||
| Flutter App | `report-notebooklm-app/` | Flutter client with five main tabs, report detail modules, Android/web scaffolds. |
|
||||
| Repo docs | `docs/` | Project-level overview, decisions, development history, and handoff guidance. |
|
||||
| Backend docs | `report-notebooklm-api/docs/` | API/data/content-pipeline/runbook details. |
|
||||
| App docs | `report-notebooklm-app/docs/` | App runbook, project map, and API consumption notes. |
|
||||
| 后端 API | `report-notebooklm-api/` | FastAPI 服务、MySQL 模型、Alembic 迁移、种子数据导入、对外只读 API。 |
|
||||
| Flutter 应用 | `report-notebooklm-app/` | Flutter 客户端,包含五个主标签页、研报详情模块、Android/Web 脚手架。 |
|
||||
| 仓库文档 | `docs/` | 项目级概览、决策记录、开发历程和交接指南。 |
|
||||
| 后端文档 | `report-notebooklm-api/docs/` | API、数据、内容流水线、运维手册的细节。 |
|
||||
| 应用文档 | `report-notebooklm-app/docs/` | 应用运维手册、项目地图、API 调用说明。 |
|
||||
|
||||
## Product Snapshot
|
||||
## 产品速览
|
||||
|
||||
`研听` helps Chinese users understand global institutional research reports across macro, precious metals, commodities, energy, central banks, and cross-asset topics.
|
||||
`研听` 帮助中文用户读懂全球机构研报,覆盖宏观、贵金属、大宗商品、能源、央行、跨资产等主题。
|
||||
|
||||
Phase 1 focuses on:
|
||||
第一阶段聚焦在:
|
||||
|
||||
- 推荐: curated/latest report interpretations.
|
||||
- 研报: report list and basic filtering.
|
||||
- 机构: institution list and institution detail.
|
||||
- 听单: reports that have audio.
|
||||
- 我的: guest/login state and shallow personal-state entries.
|
||||
- 推荐:精选 / 最新的研报解读。
|
||||
- 研报:研报列表和基础筛选。
|
||||
- 机构:机构列表和机构详情。
|
||||
- 听单:带音频的研报。
|
||||
- 我的:游客 / 登录状态,以及浅层的个人状态入口。
|
||||
|
||||
Phase 1 explicitly does not include comments, UGC, paid unlocks, membership, ads, trading signals, investment advice, or report-interpretation downloads.
|
||||
第一阶段明确**不包含**:评论、UGC、付费解锁、会员、广告、交易信号、投资建议、研报解读下载。
|
||||
|
||||
## Read First
|
||||
## 先读这些
|
||||
|
||||
For human readers:
|
||||
给人类读者:
|
||||
|
||||
1. `docs/PROJECT_OVERVIEW.md`
|
||||
2. `docs/DECISIONS.md`
|
||||
3. `docs/DEVELOPMENT_HISTORY.md`
|
||||
4. `report-notebooklm-api/docs/HANDOFF.md`
|
||||
5. `report-notebooklm-app/docs/HANDOFF.md`
|
||||
3. `docs/DATA_SOURCE_FLOW.md`
|
||||
4. `docs/DEVELOPMENT_HISTORY.md`
|
||||
5. `report-notebooklm-api/docs/HANDOFF.md`
|
||||
6. `report-notebooklm-app/docs/HANDOFF.md`
|
||||
|
||||
For agents:
|
||||
给 AI agent:
|
||||
|
||||
1. `AGENTS.md`
|
||||
2. `docs/DECISIONS.md`
|
||||
3. Target subsystem README and runbook.
|
||||
3. 对应子系统的 README 和运维手册。
|
||||
|
||||
## Current Implementation Status
|
||||
## 当前实现状态
|
||||
|
||||
Backend implemented:
|
||||
后端已实现:
|
||||
|
||||
- FastAPI app under `/api/report-notebooklm/v1`.
|
||||
- SQLAlchemy model layer for Phase 1 tables.
|
||||
- Alembic initial migration.
|
||||
- Seed import script.
|
||||
- Public read endpoints for health, feed, reports, report modules, institutions, and listen list.
|
||||
- Tests for seed and public API behavior.
|
||||
- 挂在 `/api/report-notebooklm/v1` 下的 FastAPI 应用。
|
||||
- 第一阶段数据表的 SQLAlchemy 模型层。
|
||||
- Alembic 初始迁移。
|
||||
- 种子数据导入脚本。
|
||||
- 健康检查、信息流、研报、研报模块、机构、听单的对外只读接口。
|
||||
- 针对种子数据和对外 API 行为的测试。
|
||||
|
||||
App implemented:
|
||||
应用已实现:
|
||||
|
||||
- Five bottom tabs: 推荐, 研报, 机构, 听单, 我的.
|
||||
- API-backed list/detail views using `RNB_API_BASE`.
|
||||
- Report detail module renderer registry.
|
||||
- Local placeholders for login, favorites, outbound confirmation, and playback progress.
|
||||
- Android and web build scaffolds.
|
||||
- 五个底部标签页:推荐、研报、机构、听单、我的。
|
||||
- 基于 `RNB_API_BASE` 的列表 / 详情视图。
|
||||
- 研报详情的模块渲染器注册表。
|
||||
- 登录、收藏、外链跳转确认、播放进度的本地占位实现。
|
||||
- Android 和 Web 构建脚手架。
|
||||
|
||||
Not production-ready yet:
|
||||
尚未达到生产可用:
|
||||
|
||||
- Auth and personal state.
|
||||
- Real audio stream signing.
|
||||
- Outbound event writing.
|
||||
- Internal content management API.
|
||||
- Production object storage and cache invalidation.
|
||||
- Production API domain, release signing, final app icon, and store metadata.
|
||||
- 鉴权和个人状态。
|
||||
- 真实的音频流签名。
|
||||
- 外链事件写入。
|
||||
- 内部内容管理 API。
|
||||
- 生产环境对象存储和缓存失效。
|
||||
- 生产 API 域名、发布签名、最终应用图标、应用商店元信息。
|
||||
|
||||
## Backend Quick Start
|
||||
## 后端快速上手
|
||||
|
||||
```bash
|
||||
cd report-notebooklm-api
|
||||
@@ -80,13 +81,13 @@ python -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -e ".[dev]"
|
||||
cp .env.example .env
|
||||
# edit .env for your MySQL and Redis
|
||||
# 按你的 MySQL 和 Redis 编辑 .env
|
||||
alembic upgrade head
|
||||
python scripts/import_seed_content.py
|
||||
uvicorn app.main:app --reload --host <bind-host> --port <port>
|
||||
```
|
||||
|
||||
Smoke checks:
|
||||
冒烟检查:
|
||||
|
||||
```bash
|
||||
API_BASE_URL=http://<api-host>:<port>/api/report-notebooklm/v1
|
||||
@@ -95,7 +96,7 @@ curl "$API_BASE_URL/feed/recommended"
|
||||
curl "$API_BASE_URL/reports/rep_ssga_gold"
|
||||
```
|
||||
|
||||
## App Quick Start
|
||||
## 应用快速上手
|
||||
|
||||
```bash
|
||||
cd report-notebooklm-app
|
||||
@@ -104,15 +105,15 @@ flutter test
|
||||
flutter run -d chrome --dart-define=RNB_API_BASE=<api-base-url>
|
||||
```
|
||||
|
||||
Android emulator:
|
||||
Android 模拟器:
|
||||
|
||||
```bash
|
||||
flutter run -d <emulator-id> --dart-define=RNB_API_BASE=<emulator-api-base-url>
|
||||
```
|
||||
|
||||
## Verification
|
||||
## 验证
|
||||
|
||||
Backend:
|
||||
后端:
|
||||
|
||||
```bash
|
||||
cd report-notebooklm-api
|
||||
@@ -120,7 +121,7 @@ source .venv/bin/activate
|
||||
pytest -q
|
||||
```
|
||||
|
||||
App:
|
||||
应用:
|
||||
|
||||
```bash
|
||||
cd report-notebooklm-app
|
||||
@@ -130,10 +131,10 @@ flutter build web --dart-define=RNB_API_BASE=<api-base-url>
|
||||
flutter build apk --debug --dart-define=RNB_API_BASE=<emulator-api-base-url>
|
||||
```
|
||||
|
||||
## Documentation Boundary
|
||||
## 文档边界
|
||||
|
||||
This repository contains a code handoff snapshot. It does not replace the product source of truth.
|
||||
这个仓库是一份代码交接快照,不能替代产品的唯一真源(SSOT)。
|
||||
|
||||
Product SSOT: mall-docs report-notebooklm docs, snapshot date: 2026-06-03.
|
||||
产品 SSOT:mall-docs 里的 report-notebooklm 文档,快照日期:2026-06-03。
|
||||
|
||||
Local-only notes, private paths, raw session pointers, and personal agent workflow belong in ignored `docs.jimme.local/` and `AGENTS.local.md`.
|
||||
仅限本机的笔记、私有路径、原始会话指针、个人 agent 工作流,都应放在被忽略的 `docs.jimme.local/` 和 `AGENTS.local.md` 里。
|
||||
|
||||
Reference in New Issue
Block a user