diff --git a/README.md b/README.md new file mode 100644 index 0000000..72bd52b --- /dev/null +++ b/README.md @@ -0,0 +1,136 @@ +# FTB 项目管理系统 + +基于 Next.js + NestJS 的项目管理系统,包含产品管理、项目管理、版本管理、需求管理、加班记录、成员/角色管理等模块。 + +## 环境要求 + +| 工具 | 版本 | 说明 | +|------|------|------| +| Node.js | >= 18.x | 推荐 20.x LTS | +| pnpm | >= 9.4.0 | 包管理器 | +| Git | >= 2.x | 版本控制 | + +> 后端(可选)还需要 PostgreSQL >= 15 和 Redis >= 7,目前前端独立运行不依赖后端。 + +## 安装 Node.js 和 pnpm + +```bash +# Windows - 下载安装包 +# https://nodejs.org/en/download + +# 安装 pnpm +npm install -g pnpm@9.4.0 +``` + +## 快速开始 + +```bash +# 1. 克隆项目 +git clone https://github.com/chengnianbai/ftb-project-management.git +cd ftb-project-management + +# 2. 安装依赖 +pnpm install + +# 3. 启动前端开发服务器 +cd apps/web +npx next dev -p 3000 + +# 4. 打开浏览器 +# http://localhost:3000 +``` + +## 项目结构 + +``` +ftb-project-management/ +├── apps/ +│ ├── web/ # 前端 (Next.js 14 + React 18) +│ │ ├── app/ # 页面路由 +│ │ │ ├── products/ # 产品管理 +│ │ │ ├── projects/ # 项目管理 +│ │ │ ├── versions/ # 版本管理 +│ │ │ ├── requirements/ # 需求管理 +│ │ │ ├── overtime/ # 加班记录 +│ │ │ └── admin/ # 管理(成员/角色) +│ │ ├── components/ # 通用组件 +│ │ ├── stores/ # Zustand 状态管理 +│ │ └── lib/ # 类型定义/工具函数 +│ └── server/ # 后端 (NestJS 10, 暂未启用) +│ ├── src/ +│ └── prisma/ # 数据库 Schema +├── packages/ +│ └── shared/ # 共享类型 +├── package.json # Monorepo 根配置 +├── pnpm-workspace.yaml # pnpm workspace +└── turbo.json # Turborepo 配置 +``` + +## 技术栈 + +**前端** +- Next.js 14 (App Router) +- React 18 +- TypeScript 5.5 +- Tailwind CSS +- Zustand (状态管理) +- Lucide React (图标) + +**后端(暂未启用)** +- NestJS 10 +- Prisma (ORM) +- PostgreSQL + +**工程化** +- pnpm workspace (Monorepo) +- Turborepo (任务编排) + +## 功能模块 + +| 模块 | 路径 | 状态 | +|------|------|------| +| 产品管理 | /products | 已完成 | +| 项目管理 | /projects | 已完成 | +| 版本管理 | /versions | 已完成 | +| 需求管理 | /requirements | 已完成 | +| 加班记录 | /overtime | 已完成 | +| 成员管理 | /admin/members | 已完成 | +| 角色管理 | /admin/roles | 已完成 | + +## 数据存储 + +当前阶段所有数据存储在浏览器 localStorage 中(Mock 模式),无需数据库即可体验完整功能。后续接入后端 API 后切换为数据库持久化。 + +## 常用命令 + +```bash +# 前端开发 +cd apps/web && npx next dev -p 3000 + +# TypeScript 类型检查 +cd apps/web && npx tsc --noEmit + +# 全量构建 +pnpm build +``` + +## 后端启动(可选) + +如果需要启动后端 API: + +```bash +# 1. 安装 PostgreSQL 并创建数据库 +createdb ftb_pm + +# 2. 配置环境变量 +cd apps/server +cp .env.example .env +# 编辑 .env 设置 DATABASE_URL + +# 3. 初始化数据库 +npx prisma migrate dev + +# 4. 启动 +npm run dev +# 后端运行在 http://localhost:3001 +```