138 lines
3.5 KiB
Markdown
138 lines
3.5 KiB
Markdown
# 智能农业测试平台
|
|
|
|
基于 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
|
|
|