Initial Paprika Next.js implementation
This commit is contained in:
253
working/03-推进台账.md
Normal file
253
working/03-推进台账.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# 03-推进台账
|
||||
|
||||
本文件按轮次记录工作。每轮结束必须写清楚:做了什么、改了哪些文件、验证了什么、下一步是什么。
|
||||
|
||||
## R001 - 建立 working 文档体系
|
||||
|
||||
- 日期:2026-07-06
|
||||
- 任务编号:T001、T002
|
||||
- 做了什么:
|
||||
- 阅读 `doc/index.html` 的页面结构、导航、路由、表单 mockup、服务模块、FAQ、O-1A criteria、法务页面和渲染脚本。
|
||||
- 建立 `working` 目录下 6 份编号文档和 README 索引。
|
||||
- 初步记录当前项目是自包含静态 HTML mockup。
|
||||
- 改了哪些文件:
|
||||
- `working/README.md`
|
||||
- `working/01-项目功能内容.md`
|
||||
- `working/02-项目程序开发详细步骤.md`
|
||||
- `working/03-推进台账.md`
|
||||
- `working/04-任务矩阵.md`
|
||||
- `working/05-验收证据.md`
|
||||
- `working/06-决策记录.md`
|
||||
- 验证了什么:
|
||||
- 确认 `doc/index.html` 是自包含静态 HTML。
|
||||
- 确认页面通过 `?page=...` 查询参数切换。
|
||||
- 确认 Start Here 和 Ask a Question 当前是视觉 mockup,不是真实表单。
|
||||
- 证据链接或编号:E001、E002、E003
|
||||
- 遗留问题:
|
||||
- 未做浏览器截图验收。
|
||||
- 未做移动端回归。
|
||||
- 未实现表单和部署。
|
||||
- 下一步:
|
||||
- 按 `04-任务矩阵.md` 从 `VERIFY` 与 `TODO` 任务继续推进。
|
||||
|
||||
## R002 - 完全对标 doc/index.html 补强 working 文档
|
||||
|
||||
- 日期:2026-07-06
|
||||
- 任务编号:T028
|
||||
- 做了什么:
|
||||
- 复读 `doc/index.html` 中 header、footer、`pageData`、页面组合函数、Press/Judging/Resources/FAQ/Legal/Form 模块。
|
||||
- 补充 `01-项目功能内容.md`,把页面路由、内容模块、表单字段、服务卡片、O-1A criteria、法律页面、已知缺陷和发布环境写完整。
|
||||
- 补充 `02-项目程序开发详细步骤.md`,形成阶段化路线:基线复现、静态修复、真实表单、工程化拆分、8082 端口部署、HTTPS、回归验收。
|
||||
- 补强任务矩阵,新增服务器部署、凭据处理、contact 死链、outlet/network 陈述风险、README 索引维护等任务。
|
||||
- 补强验收证据,记录本轮命令、源码发现和后续证据清单。
|
||||
- 补强决策记录,明确不在长期文档保存明文密码、服务默认走 8082、Services 的 `contact` 路由是缺陷。
|
||||
- 改了哪些文件:
|
||||
- `working/README.md`
|
||||
- `working/01-项目功能内容.md`
|
||||
- `working/02-项目程序开发详细步骤.md`
|
||||
- `working/03-推进台账.md`
|
||||
- `working/04-任务矩阵.md`
|
||||
- `working/05-验收证据.md`
|
||||
- `working/06-决策记录.md`
|
||||
- 验证了什么:
|
||||
- `rg --files` 确认项目当前主要文件为 `doc/index.html`、`doc/README.md` 和 `working/*.md`。
|
||||
- `rg -n` 确认公开路由、隐藏路由、表单 mockup、legal 页面、动态路由逻辑均在 `doc/index.html`。
|
||||
- `sed` 分段读取源文件,确认 Services 04/05/06 卡片指向不存在的 `contact` 页面。
|
||||
- `git status --short` 失败,确认当前目录不是 Git 仓库或未在 Git 工作树内。
|
||||
- 证据链接或编号:E004、E005、E006、E007
|
||||
- 遗留问题:
|
||||
- 尚未改 `doc/index.html`。
|
||||
- 尚未启动本地服务器或做截图。
|
||||
- 尚未登录远端服务器。
|
||||
- 用户提供了密码,但长期文档未写入明文密码。
|
||||
- 下一步:
|
||||
- 优先处理 T029:修复 Services 页面不存在的 `contact` 路由。
|
||||
- 继续 T003-T011:对核心页面做浏览器截图验收。
|
||||
- 之后按产品选择推进 T012/T013 表单落地或 T022 工程化拆分。
|
||||
|
||||
## R003 - 源码级对标附录完善
|
||||
|
||||
- 日期:2026-07-06
|
||||
- 任务编号:T034
|
||||
- 做了什么:
|
||||
- 重新扫描 `doc/index.html` 的 CSS token、响应式断点、路由链接、函数列表、FAQ、Legal sections 和渲染逻辑。
|
||||
- 在 `01-项目功能内容.md` 增加视觉设计、组件 CSS 类、JavaScript 函数、CTA 全量映射、FAQ 完整编号、Legal 逐项结构和源码级结论。
|
||||
- 在 `02-项目程序开发详细步骤.md` 增加“完全对标核验清单”,规定以后如何证明文档与源 HTML 对齐。
|
||||
- 更新任务矩阵、验收证据和决策记录。
|
||||
- 改了哪些文件:
|
||||
- `working/01-项目功能内容.md`
|
||||
- `working/02-项目程序开发详细步骤.md`
|
||||
- `working/03-推进台账.md`
|
||||
- `working/04-任务矩阵.md`
|
||||
- `working/05-验收证据.md`
|
||||
- `working/06-决策记录.md`
|
||||
- 验证了什么:
|
||||
- `doc/index.html` 共 3423 行。
|
||||
- CSS 只有一个显式响应式断点:`@media (max-width: 1080px)`。
|
||||
- `pageData` 包含公开路由、隐藏路由和 legal 页面。
|
||||
- FAQ 共 4 组 20 个问题。
|
||||
- Terms 编号缺少 17,Legal 日期均为 `July 10, 2026`。
|
||||
- 多个函数和 CSS 模块存在但当前未调用。
|
||||
- 证据链接或编号:E016
|
||||
- 遗留问题:
|
||||
- 仍未修改 `doc/index.html` 源码。
|
||||
- 仍未做浏览器截图和真实部署验收。
|
||||
- 下一步:
|
||||
- 按 T029 修复 `contact` 缺陷,或按 T003-T011 做页面截图验收。
|
||||
|
||||
## R004 - 明确正式开发技术架构
|
||||
|
||||
- 日期:2026-07-06
|
||||
- 任务编号:T035
|
||||
- 做了什么:
|
||||
- 根据用户确认,将正式开发路线从候选方案收敛为 Next.js + React + PostgreSQL。
|
||||
- 将默认数据访问层定为 Prisma ORM。
|
||||
- 补充 Next.js 路由迁移表、PostgreSQL 数据模型初稿、表单 API、环境变量、8082 启动方式和部署验收标准。
|
||||
- 更新任务矩阵和决策记录。
|
||||
- 改了哪些文件:
|
||||
- `working/01-项目功能内容.md`
|
||||
- `working/02-项目程序开发详细步骤.md`
|
||||
- `working/03-推进台账.md`
|
||||
- `working/04-任务矩阵.md`
|
||||
- `working/05-验收证据.md`
|
||||
- `working/06-决策记录.md`
|
||||
- `working/README.md`
|
||||
- 验证了什么:
|
||||
- 文档已不再把 Vite/静态拆分作为推荐路线。
|
||||
- 部署命令已调整为 Next.js `npm run start -- -p 8082`。
|
||||
- 数据库任务已进入矩阵。
|
||||
- 证据链接或编号:E017
|
||||
- 遗留问题:
|
||||
- 尚未实际创建 Next.js 工程。
|
||||
- 尚未创建 PostgreSQL 数据库或 Prisma migration。
|
||||
- 文件上传存储方案仍需单独确认。
|
||||
- 下一步:
|
||||
- 执行 T036 初始化 Next.js 工程。
|
||||
- 执行 T037 设计并迁移 PostgreSQL schema。
|
||||
|
||||
## R005 - 记录服务器 PostgreSQL 安装状态
|
||||
|
||||
- 日期:2026-07-06
|
||||
- 任务编号:T040
|
||||
- 做了什么:
|
||||
- 根据用户反馈,记录 PostgreSQL 已在服务器 `170.106.192.152` 安装完成。
|
||||
- 补充服务器 PostgreSQL 验证命令、应用数据库和受限用户创建建议。
|
||||
- 保持凭据安全规则:不把明文 SSH 密码写入长期文档。
|
||||
- 改了哪些文件:
|
||||
- `working/01-项目功能内容.md`
|
||||
- `working/02-项目程序开发详细步骤.md`
|
||||
- `working/03-推进台账.md`
|
||||
- `working/04-任务矩阵.md`
|
||||
- `working/05-验收证据.md`
|
||||
- `working/06-决策记录.md`
|
||||
- 验证了什么:
|
||||
- 本轮未登录服务器验证,仅记录用户确认。
|
||||
- 证据链接或编号:E018
|
||||
- 遗留问题:
|
||||
- 需要远程执行 `systemctl status postgresql`、`psql --version`、数据库列表检查。
|
||||
- 需要创建或确认 `paprika` 数据库和 `paprika_app` 应用用户。
|
||||
- 下一步:
|
||||
- 执行 T040 远程验证 PostgreSQL。
|
||||
- 执行 T037 接入 Prisma schema 和 migration。
|
||||
|
||||
## R006 - 记录邮箱系统账号需求
|
||||
|
||||
- 日期:2026-07-06
|
||||
- 任务编号:T041
|
||||
- 做了什么:
|
||||
- 记录普通用户 webmail 入口、管理员入口和 `admin@paprikalaw.com` 管理员账号。
|
||||
- 记录 10 个普通公司邮箱账号清单。
|
||||
- 补充邮件 DNS、收发验证、表单通知接入和凭据安全要求。
|
||||
- 明确用户提供的统一初始密码不写入长期文档。
|
||||
- 改了哪些文件:
|
||||
- `working/01-项目功能内容.md`
|
||||
- `working/02-项目程序开发详细步骤.md`
|
||||
- `working/03-推进台账.md`
|
||||
- `working/04-任务矩阵.md`
|
||||
- `working/05-验收证据.md`
|
||||
- `working/06-决策记录.md`
|
||||
- `working/README.md`
|
||||
- 验证了什么:
|
||||
- 本轮只记录需求,未登录邮件后台,未验证 DNS/MX/SPF/DKIM/DMARC。
|
||||
- 证据链接或编号:E019
|
||||
- 遗留问题:
|
||||
- 需要登录 `https://mail.paprikalaw.com/admin/` 确认账号是否已创建。
|
||||
- 需要测试 webmail 登录、内外部收发和 DNS 记录。
|
||||
- 需要决定网站表单通知使用哪个邮箱。
|
||||
- 下一步:
|
||||
- 执行 T041 邮箱账号创建/确认。
|
||||
- 执行 T042 邮件 DNS 和收发测试。
|
||||
- 执行 T043 Next.js 表单邮件通知配置。
|
||||
|
||||
## R007 - 落地 Next.js 工程、Prisma 和真实表单
|
||||
|
||||
- 日期:2026-07-06
|
||||
- 任务编号:T012、T013、T017、T020、T022、T029、T036、T037、T038、T039、T044
|
||||
- 做了什么:
|
||||
- 修复 `doc/index.html` 中 Services 04/05/06 CTA 指向不存在 `contact` 的缺陷,统一改为 `start`。
|
||||
- 将 legal 页面日期从未来日期 `July 10, 2026` 改为当前工作日期 `July 6, 2026`。
|
||||
- 在项目根目录初始化 Next.js + React + TypeScript App Router 工程。
|
||||
- 编写 `scripts/extract-legacy-pages.mjs`,从 `doc/index.html` 抽取 CSS 和静态页面 HTML,生成 `app/globals.css` 与 `lib/legacy-pages.ts`。
|
||||
- 建立 `app/[page]/page.tsx` 静态路由,迁移公开页面到 `/press`、`/judging`、`/services` 等路径路由。
|
||||
- 建立 `/start`、`/ask` 真实 React 表单,提交到 `POST /api/submissions`。
|
||||
- 建立 Prisma schema、初始化 migration、`.env.example`、数据库访问层和 Zod 校验。
|
||||
- 增加基础 SEO metadata、`robots.txt` 和 `sitemap.xml`。
|
||||
- 升级到 Next `16.2.10`、React `19.2.7`,并配置 ESLint 9 flat config。
|
||||
- 改了哪些文件:
|
||||
- `doc/index.html`
|
||||
- `.env.example`
|
||||
- `.gitignore`
|
||||
- `package.json`
|
||||
- `package-lock.json`
|
||||
- `tsconfig.json`
|
||||
- `next-env.d.ts`
|
||||
- `next.config.mjs`
|
||||
- `eslint.config.mjs`
|
||||
- `scripts/extract-legacy-pages.mjs`
|
||||
- `app/*`
|
||||
- `components/*`
|
||||
- `lib/*`
|
||||
- `prisma/schema.prisma`
|
||||
- `prisma/migrations/20260706120000_init/migration.sql`
|
||||
- `working/README.md`
|
||||
- `working/01-项目功能内容.md`
|
||||
- `working/02-项目程序开发详细步骤.md`
|
||||
- `working/03-推进台账.md`
|
||||
- `working/04-任务矩阵.md`
|
||||
- `working/05-验收证据.md`
|
||||
- `working/06-决策记录.md`
|
||||
- 验证了什么:
|
||||
- `npm run generate:legacy` 成功生成 12 个旧页面数据。
|
||||
- `npm run prisma:generate` 成功生成 Prisma Client。
|
||||
- `npm run lint` 通过。
|
||||
- `npx tsc --noEmit` 通过。
|
||||
- `npm run build` 通过,生成 19 个 app route。
|
||||
- `npm run start -- -p 8082` 本地生产服务可启动。
|
||||
- `/`、`/press`、`/judging`、`/scholarly`、`/services`、`/why`、`/resources`、`/faq`、`/start`、`/ask`、`/thanks`、`/terms`、`/privacy`、`/disclaimer`、`/robots.txt`、`/sitemap.xml` 本地生产服务均返回 200。
|
||||
- `/api/submissions` 对缺失必填字段和错误 email 返回 400 校验错误。
|
||||
- 有效提交在未配置 `DATABASE_URL` 时返回 500,确认入库成功仍需真实 PostgreSQL。
|
||||
- 证据链接或编号:E022、E023、E024、E025、E026
|
||||
- 遗留问题:
|
||||
- 本地未配置 PostgreSQL `DATABASE_URL`,尚不能完成真实入库验收。
|
||||
- 远程 PostgreSQL、应用数据库、应用用户、migration deploy 尚未验证。
|
||||
- 邮箱后台、DNS、SMTP 通知未验证。
|
||||
- 法务内容审核、outlet/network 名称确认、文件上传策略仍需外部确认。
|
||||
- 尚未做浏览器截图/PDF 归档。
|
||||
- 下一步:
|
||||
- 执行 T040/T044:远程验证 PostgreSQL,配置生产 `DATABASE_URL`,执行 migration,并提交 Start/Ask 获取 `submission_id`。
|
||||
- 执行 T039/T024:部署 Next.js 到服务器 `8082` 并配置 systemd。
|
||||
- 执行 T041-T043:验证邮箱和 SMTP 通知。
|
||||
- 执行 T018/T026:补桌面和移动端截图证据。
|
||||
|
||||
## 后续轮次模板
|
||||
|
||||
### RXXX - 标题
|
||||
|
||||
- 日期:
|
||||
- 任务编号:
|
||||
- 做了什么:
|
||||
- 改了哪些文件:
|
||||
- 验证了什么:
|
||||
- 证据链接或编号:
|
||||
- 遗留问题:
|
||||
- 下一步:
|
||||
Reference in New Issue
Block a user