# AI_lesson **Repository Path**: bladevil/ai_lesson ## Basic Information - **Project Name**: AI_lesson - **Description**: 课程任务仓库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-30 - **Last Updated**: 2026-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多门店物资管理系统 这是一个 OpenSpec 驱动的多门店物资库存管理系统。当前底座采用强 TL 样板驱动开发:先把 `stores` 门店管理做成完整纵切样板,再由其他分支按样板扩展物资、供应商、采购入库、领用出库、调拨、盘点和报表。 ## 技术栈 - Monorepo: pnpm workspace - Frontend: React + Vite + TypeScript + Ant Design - Backend: NestJS + TypeScript - ORM / DB: Prisma 6 + PostgreSQL - Tests: Vitest, Nest testing utilities, Testing Library - Spec workflow: OpenSpec ## 本地启动 1. 安装依赖: ```powershell pnpm install ``` 2. 准备环境变量: ```powershell Copy-Item .env.example .env ``` 3. 启动 PostgreSQL: ```powershell docker compose up -d postgres ``` 如果不用 Docker,也可以本机安装 PostgreSQL,并确保 `.env` 里的 `DATABASE_URL` 指向可用数据库。 4. 生成 Prisma Client 并执行迁移: ```powershell pnpm prisma:generate pnpm db:migrate ``` 5. 启动开发服务: ```powershell pnpm dev:api pnpm dev:web ``` 默认地址: - API: `http://localhost:3001/api` - Web: `http://localhost:5173` ## 验证命令 提交或合并前至少运行: ```powershell openspec validate add-template-driven-foundation --strict pnpm typecheck pnpm test pnpm build ``` 涉及数据库模型时额外运行: ```powershell pnpm prisma:generate pnpm prisma:validate ``` ## 样板约定 - `packages/shared` 放前后端共用的 API 响应、错误码、分页和 DTO 类型。 - `apps/api/src/modules/stores` 是后端纵切样板:controller、service、repository、DTO、测试都放在同一模块边界内。 - `apps/web/src/features/stores` 是前端纵切样板:API client、页面、抽屉表单、详情、状态切换和测试放在同一 feature 内。 - 其他分支复制样板前先读 [copy-stores-slice.md](docs/templates/copy-stores-slice.md)。 - 已经开工的成员分支先读 [member-branch-alignment.md](docs/governance/member-branch-alignment.md),对齐技术栈、API 契约、字段命名和 merge base。 ## OpenSpec 规则 - 新功能先创建 OpenSpec change,再写 design、tasks、spec。 - 一个功能分支对应一个 change。 - 任务完成前要有验证证据,再勾选 `tasks.md`。 - 库存变化只能走库存服务和 `inventory_ledger`,不能直接改库存数量。