Doodle Store
独立于 doodle-mini 的 pnpm Monorepo,用于维护统一业务后端、后续管理后台和用户 Web 网站。小程序源码与 CloudBase 兼容函数仍在 doodle-mini,两个项目通过 HTTPS API 协作。
当前范围
当前完成基础工程和本地数据库环境,具体业务尚未接入:
apps/server:可运行的 NestJS 服务,只有进程健康检查。packages/contracts:基础成功响应与健康检查类型,不包含业务字段或私有实现。apps/admin、apps/web:仅预留目录与说明,尚未选择或安装前端框架。- 本地 PostgreSQL 18.6 Docker 开发环境已启动,10 张表及初始配置已创建;Prisma、微信登录、七牛接口、定时任务、业务接口与生产部署尚未接入。
本地使用
先按 本地数据库说明 配置根 .env,执行 pnpm infra:up。默认数据库地址为 127.0.0.1:5434,开发库为 doodle_dev。图片等资源直接使用七牛,本地仅启动 PostgreSQL。生产与按需测试的安排见 v3.5 开发与部署环境方案。
使用 Node.js 24.20.0 与 pnpm 11.24.0。如使用 fnm,可在本目录执行 fnm use --install-if-missing。
pnpm install --frozen-lockfile
pnpm build
pnpm dev
默认地址为 http://127.0.0.1:3000/api/v1/health。该接口只证明服务进程可以处理 HTTP 请求,不代表数据库、文件存储或业务系统已经可用。
可在 apps/server/.env 中配置 PORT、HOST,变量示例见 apps/server/.env.example。未配置时使用安全的本地默认值。不要提交真实 .env 或密钥。
pnpm check # 格式、代码检查、类型检查、构建与测试
pnpm build # 按工作区依赖顺序构建
pnpm start # 运行已构建的服务端
pnpm format # 格式化源码与配置
目录
apps/
server/ NestJS 服务端
admin/ 后续管理后台,当前仅占位
web/ 后续用户网站,当前仅占位
packages/
contracts/ 可公开的接口类型
deploy/ 后续部署说明,当前未部署
infra/ 本地 PostgreSQL Docker 配置
docs/ 工程初始化与接入边界说明
每个实际应用与包声明自己的依赖。工作区内部使用 workspace:*,按应用独立构建、发布;不要求后台、网站与 API 同时上线。暂不引入 Turborepo、Nx、Redis、队列或微服务。
数据库模型、密钥和未来私有生成/绘制逻辑只能由服务端持有,不能放进公共契约包供前端导入。小程序不直接依赖本仓库源码或本地工作区包。
现有功能迁移的权威方案见 docs/云服务端迁移方案.md,小程序产品规划与历史设计仍保留在 doodle-mini。本仓库的初始化说明见 docs/初始化说明.md。