2.7 KiB
2.7 KiB
Doodle Store 初始化说明
初始化日期:2026-10-12。
工程边界
- 新项目路径:
/Users/joey-xd/sites/doodle/doodle-store。 - 小程序继续在
/Users/joey-xd/sites/doodle/doodle-mini独立维护,未搬移源码或更改其依赖。 - 本项目采用 pnpm workspace;首期应用是
apps/server,后续加入apps/admin和apps/web。 - 内部共享包使用
workspace:*;跨项目使用有版本的 HTTPS API,不直接引用彼此源码。
已初始化的能力
- 固定 Node.js 24.20.0、pnpm 11.24.0,使用单一锁文件。
- NestJS 11 / TypeScript 5.9 服务端骨架;选择兼容版本,不直接追随依赖的最新主版本。
- 严格类型检查、ESLint、Prettier 和按依赖顺序执行的构建脚本。
- 可选
.env加载、端口/监听地址校验、关闭信号处理。 GET /api/v1/health进程存活检查及真实 HTTP 测试。- admin、web、Prisma、迁移脚本和部署目录的用途说明。
初始化验证
pnpm install --frozen-lockfile --offline:锁文件重复安装通过。pnpm check:格式、代码规范、类型检查、构建与 5 项基础测试通过。- 使用已构建的
apps/server/dist/main.js启动真实进程,本地请求/api/v1/health返回 HTTP 200 和预期响应;验证后关闭进程。 - 已初始化独立本地 Git 仓库,尚未提交、配置远程仓库或推送。
未开发的内容
尚未实现登录/权限、用户资料、分类、题型、收藏、下载、推荐、管理业务、七牛、定时任务或私有绘图。未连接数据库、迁移数据、发布小程序或部署云服务器。
数据库选型讨论不等于最终变更指令;当前仅预留 Prisma 目录,不安装 ORM 或生成表结构。后续按确认后的数据库选型实施。
后续开发要求
- 按迁移方案先完成登录、题型读取、收藏/下载幂等事务的纵向样板,不一次生成所有业务模块。
apps/server/prisma作为数据库结构唯一来源,原用户/题型字符串 ID 必须保留。- 公共契约不得包含私有实现;管理权限由服务端判断,浏览器不直接访问数据库。
- 小程序联调记录服务端与客户端版本,保留旧版本兼容期;不能假设同一时间升级所有用户。
- 新增共享包后,确保根目录构建/检查先处理依赖包,再处理使用它们的应用。
- CI 可使用
pnpm install --frozen-lockfile和pnpm check;当前未连接 CI 服务或创建远程仓库。
业务迁移范围与切换步骤以本项目的云服务端迁移方案为准;该文档已从 doodle-mini 移入本项目统一维护。本文件只描述初始化状态,不代表 S1 业务样板已完成。