shadcn管理后台前后端全栈启动模板 Product Requirements Document (PRD)
Goals and Background Context
Goals
- 提供一个基于shadcn/ui的现代化管理后台全栈启动模板
- 实现基本的用户管理功能(CRUD操作)
- 建立完整的认证和授权体系
- 提供可扩展的项目结构和开发规范
- 支持快速开始新项目的开发
Background Context
随着现代Web应用开发的复杂性增加,开发团队需要一个高质量、标准化、可扩展的全栈启动模板来加速项目开发。shadcn/ui作为一个流行的React UI组件库,提供了优秀的开发体验和现代化的设计。本模板旨在结合shadcn/ui的优秀特性,提供一个完整的全栈管理后台解决方案,帮助开发团队快速启动新项目,减少重复性工作,确保代码质量和一致性。
Change Log
| Date |
Version |
Description |
Author |
| 2025-09-12 |
v1.0 |
初始PRD创建 |
PM Agent |
Requirements
Functional
- FR1: 用户应该能够注册新账户
- FR2: 用户应该能够登录到系统
- FR3: 用户应该能够查看用户列表
- FR4: 用户应该能够创建新用户
- FR5: 用户应该能够编辑现有用户信息
- FR6: 用户应该能够删除用户
- FR7: 用户应该能够重置密码
- FR8: 系统应该提供角色基础的权限控制
- FR9: 系统应该提供用户状态管理(激活/禁用)
- FR10: 系统应该提供用户个人资料管理
Non Functional
- NFR1: 前端应该使用React + TypeScript + shadcn/ui
- NFR2: 后端应该使用Node.js + Express或类似框架
- NFR3: 数据库应该支持PostgreSQL或SQLite
- NFR4: 代码应该遵循ESLint和Prettier规范
- NFR5: 项目应该包含完整的开发环境配置
- NFR6: 模板应该提供Docker开发环境
- NFR7: 应该包含基本的单元测试和集成测试
- NFR8: 应该提供API文档(Swagger/OpenAPI)
- NFR9: 应该支持环境变量配置
- NFR10: 应该提供部署脚本和配置示例
User Interface Design Goals
Overall UX Vision
创建一个现代化、直观、响应式的管理后台界面,专注于用户体验和开发效率。界面应该简洁明了,操作流程顺畅,符合现代Web应用的设计标准。
Key Interaction Paradigms
- 基于表单的数据输入和编辑
- 表格数据的浏览和操作
- 模态框进行详细操作
- 面包屑导航和侧边栏菜单
- 实时反馈和状态提示
Core Screens and Views
- 登录页面
- 主仪表板
- 用户列表页面
- 用户创建/编辑表单
- 用户详情页面
- 个人资料设置页面
Accessibility: WCAG AA
确保界面符合WCAG AA可访问性标准,支持键盘导航和屏幕阅读器。
Branding
采用shadcn/ui的默认设计语言,保持简洁专业的风格,支持自定义主题。
Target Device and Platforms: Web Responsive
支持桌面端、平板和移动端的响应式设计。
Technical Assumptions
Repository Structure: Monorepo
采用monorepo结构管理前后端代码,便于协同开发和依赖管理。
Service Architecture
采用前后端分离架构,前端使用React应用,后端提供RESTful API服务。
Testing Requirements
采用完整的测试金字塔策略,包括单元测试、集成测试和端到端测试。
Additional Technical Assumptions and Requests
- 使用JWT进行身份认证
- 使用bcrypt进行密码加密
- 支持CORS配置
- 提供日志记录机制
- 支持数据库迁移
- 包含错误处理中间件
- 提供请求验证
- 支持分页和过滤
- 包含健康检查端点
Epic List
- Epic 1: 项目基础架构和认证系统 - 建立项目基础结构,实现用户认证和授权功能
- Epic 2: 用户管理功能实现 - 实现完整的用户CRUD操作和管理界面
- Epic 3: 开发工具和部署配置 - 配置开发环境、测试框架和部署脚本
Epic 1 项目基础架构和认证系统
建立完整的项目基础架构,包括前后端项目初始化、数据库配置、认证系统和基本的安全措施。
Story 1.1 项目初始化设置
As a 开发者,
I want 初始化前后端项目结构,
so that 可以开始开发工作。
Acceptance Criteria
- 创建React + TypeScript前端项目
- 创建Node.js + Express后端项目
- 配置package.json和基本依赖
- 设置Git仓库和.gitignore
- 配置开发环境启动脚本
Story 1.2 数据库配置和模型定义
As a 开发者,
I want 配置数据库连接和定义用户模型,
so that 可以存储和操作用户数据。
Acceptance Criteria
- 配置数据库连接(PostgreSQL/SQLite)
- 定义User模型包含基本字段
- 创建数据库迁移脚本
- 提供种子数据示例
- 配置环境变量管理
Story 1.3 用户认证系统实现
As a 开发者,
I want 实现用户注册和登录功能,
so that 用户可以安全访问系统。
Acceptance Criteria
- 实现用户注册API端点
- 实现用户登录API端点
- 使用JWT进行身份验证
- 使用bcrypt加密密码
- 提供token刷新机制
- 实现登录状态管理
Story 1.4 路由保护和中间件
As a 开发者,
I want 实现路由保护和认证中间件,
so that 可以保护敏感路由和API端点。
Acceptance Criteria
- 创建认证中间件验证JWT
- 保护需要认证的路由
- 实现错误处理中间件
- 提供统一的响应格式
- 记录请求日志
Epic 2 用户管理功能实现
实现完整的用户管理功能,包括用户列表、创建、编辑、删除和详情查看。
Story 2.1 用户列表界面
As a 管理员,
I want 查看用户列表,
so that 可以管理所有用户账户。
Acceptance Criteria
- 创建用户列表页面组件
- 实现用户数据表格显示
- 支持分页功能
- 支持搜索和过滤
- 显示用户基本信息和状态
- 提供操作按钮(编辑、删除)
Story 2.2 用户创建功能
As a 管理员,
I want 创建新用户,
so that 可以添加新的系统用户。
Acceptance Criteria
- 创建用户创建表单
- 实现表单验证
- 调用创建用户API
- 显示创建成功反馈
- 处理创建错误情况
- 支持角色分配
Story 2.3 用户编辑功能
As a 管理员,
I want 编辑用户信息,
so that 可以更新用户资料和权限。
Acceptance Criteria
- 创建用户编辑表单
- 预填充现有用户数据
- 实现表单验证
- 调用更新用户API
- 显示更新成功反馈
- 处理更新错误情况
Story 2.4 用户删除功能
As a 管理员,
I want 删除用户,
so that 可以移除不再需要的用户账户。
Acceptance Criteria
- 实现用户删除确认对话框
- 调用删除用户API
- 显示删除成功反馈
- 更新用户列表显示
- 处理删除错误情况
- 防止误删除操作
Story 2.5 用户详情页面
As a 管理员,
I want 查看用户详细信息,
so that 可以了解用户的完整信息。
Acceptance Criteria
- 创建用户详情页面
- 显示用户完整信息
- 显示用户活动记录
- 提供返回列表的导航
- 支持快速编辑操作
Epic 3 开发工具和部署配置
配置完整的开发工具链、测试框架和部署配置,确保项目质量和可部署性。
Story 3.1 代码质量和格式化配置
As a 开发者,
I want 配置代码质量工具,
so that 可以保持代码风格一致。
Acceptance Criteria
- 配置ESLint规则
- 配置Prettier格式化
- 设置Git hooks
- 配置编辑器配置
- 提供代码检查脚本
Story 3.2 测试框架配置
As a 开发者,
I want 配置测试框架,
so that 可以编写和运行测试。
Acceptance Criteria
- 配置Jest测试框架
- 配置React Testing Library
- 配置API测试工具
- 提供测试示例
- 配置测试覆盖率报告
Story 3.3 Docker开发环境
As a 开发者,
I want 配置Docker开发环境,
so that 可以快速搭建开发环境。
Acceptance Criteria
- 创建Dockerfile
- 配置docker-compose.yml
- 包含数据库服务
- 支持热重载开发
- 提供环境变量配置
Story 3.4 部署配置和文档
As a 开发者,
I want 配置部署脚本和文档,
so that 可以轻松部署应用到生产环境。
Acceptance Criteria
- 提供生产环境Docker配置
- 创建部署脚本示例
- 配置环境变量示例
- 编写部署文档
- 提供健康检查配置
Checklist Results Report
PRD文档已完成,包含完整的功能需求、技术假设和用户故事。文档结构符合BMAD标准格式,涵盖了shadcn管理后台模板的核心需求。
Next Steps
UX Expert Prompt
基于此PRD文档,请设计shadcn管理后台的用户界面和用户体验方案。
Architect Prompt
基于此PRD文档,请设计shadcn管理后台的技术架构和系统设计方案。