# 智能农业测试平台 基于 Next.js 14 (App Router) 和 PostgreSQL 的测试管理平台。 ## 技术栈 - **前端框架**: Next.js 14+ (App Router) - **语言**: TypeScript - **样式**: Tailwind CSS - **数据库**: PostgreSQL - **ORM**: Prisma - **认证**: NextAuth.js - **表单**: React Hook Form + Zod - **状态管理**: Zustand ## 项目结构 ``` hm-smart-agri-test-platform/ ├── src/ # 源代码目录 │ ├── app/ # Next.js App Router │ │ ├── api/ # API 路由 │ │ ├── auth/ # 认证相关页面 │ │ ├── dashboard/ # 仪表板页面 │ │ ├── layout.tsx # 根布局 │ │ └── page.tsx # 首页 │ ├── components/ # 可复用组件 │ │ ├── ui/ # 基础 UI 组件 │ │ ├── forms/ # 表单组件 │ │ └── layout/ # 布局组件 │ ├── lib/ # 工具库 │ │ ├── db/ # 数据库配置 │ │ ├── utils/ # 工具函数 │ │ ├── services/ # 服务层 │ │ ├── middleware/ # 中间件 │ │ ├── auth/ # 认证相关 │ │ └── constants/ # 常量定义 │ ├── hooks/ # 自定义 Hooks │ ├── types/ # TypeScript 类型定义 │ └── middleware.ts # Next.js 中间件 ├── prisma/ # Prisma 相关 │ └── schema.prisma # 数据库模型 ├── scripts/ # 脚本文件 ├── tests/ # 测试文件 ├── docs/ # 文档目录 └── public/ # 静态资源 ``` ## 快速开始 ### 1. 安装依赖 ```bash npm install # 或 yarn install # 或 pnpm install ``` ### 2. 配置环境变量 复制 `.env.example` 为 `.env.local` 并填写相应的配置: ```bash cp .env.example .env.local ``` 编辑 `.env.local` 文件,配置数据库连接和其他环境变量。 ### 3. 设置数据库 ```bash # 生成 Prisma Client npm run db:generate # 推送数据库模式(开发环境) npm run db:push # 或使用迁移(生产环境推荐) npm run db:migrate ``` ### 4. 启动开发服务器 ```bash npm run dev ``` 打开 [http://localhost:3000](http://localhost:3000) 查看应用。 ## 可用脚本 - `npm run dev` - 启动开发服务器 - `npm run build` - 构建生产版本 - `npm run start` - 启动生产服务器 - `npm run lint` - 运行 ESLint - `npm run format` - 格式化代码 - `npm run type-check` - TypeScript 类型检查 - `npm run db:generate` - 生成 Prisma Client - `npm run db:push` - 推送数据库模式 - `npm run db:migrate` - 运行数据库迁移 - `npm run db:studio` - 打开 Prisma Studio ## 数据库设计 ### 核心表 - **Users** - 用户表 - **Projects** - 项目表 - **ProjectMembers** - 项目成员表 - **TestCases** - 测试用例表 - **TestRuns** - 测试执行表 - **TestResults** - 测试结果表 详细设计请查看 `prisma/schema.prisma` 文件。 ## 开发规范 - 使用 TypeScript 严格模式 - 遵循 ESLint 规则 - 使用 Prettier 格式化代码 - 组件使用 PascalCase - 函数/变量使用 camelCase - 常量使用 UPPER_SNAKE_CASE ## 下一步 1. 配置数据库连接 2. 运行数据库迁移 3. 实现用户认证功能 4. 开发核心业务功能 ## 许可证 MIT