95 lines
1.9 KiB
Markdown
95 lines
1.9 KiB
Markdown
# 野成长 (Wild Growth) 后端API
|
||
|
||
## 技术栈
|
||
|
||
- **运行环境**: Node.js 24+
|
||
- **框架**: Express.js
|
||
- **语言**: TypeScript
|
||
- **数据库**: PostgreSQL
|
||
- **ORM**: Prisma
|
||
- **认证**: JWT
|
||
- **日志**: Winston
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
backend/
|
||
├── src/
|
||
│ ├── controllers/ # 控制器(处理请求)
|
||
│ ├── services/ # 业务逻辑
|
||
│ ├── models/ # 数据模型
|
||
│ ├── middleware/ # 中间件
|
||
│ ├── routes/ # 路由定义
|
||
│ ├── utils/ # 工具函数
|
||
│ ├── types/ # TypeScript类型定义
|
||
│ └── index.ts # 入口文件
|
||
├── prisma/
|
||
│ └── schema.prisma # 数据库模型定义
|
||
├── logs/ # 日志文件
|
||
└── dist/ # 编译后的JavaScript文件
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
### 2. 配置环境变量
|
||
|
||
复制 `.env.example` 为 `.env` 并填写配置:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
### 3. 设置数据库
|
||
|
||
确保PostgreSQL已安装并运行,然后:
|
||
|
||
```bash
|
||
# 生成Prisma Client
|
||
npm run prisma:generate
|
||
|
||
# 运行数据库迁移
|
||
npm run prisma:migrate
|
||
```
|
||
|
||
### 4. 启动开发服务器
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
服务器将在 `http://localhost:3000` 启动
|
||
|
||
## 开发命令
|
||
|
||
- `npm run dev` - 启动开发服务器(热重载)
|
||
- `npm run build` - 编译TypeScript
|
||
- `npm run start` - 运行编译后的代码
|
||
- `npm run prisma:generate` - 生成Prisma Client
|
||
- `npm run prisma:migrate` - 运行数据库迁移
|
||
- `npm run prisma:studio` - 打开Prisma Studio(数据库可视化工具)
|
||
|
||
## API文档
|
||
|
||
详见 `BACKEND_DEVELOPMENT_PLAN.md`
|
||
|
||
## 环境变量说明
|
||
|
||
- `PORT`: 服务器端口(默认3000)
|
||
- `NODE_ENV`: 环境(development/production)
|
||
- `DATABASE_URL`: PostgreSQL连接字符串
|
||
- `JWT_SECRET`: JWT密钥
|
||
- `JWT_EXPIRES_IN`: JWT过期时间
|
||
- `SMS_*`: 短信服务配置
|
||
- `APPLE_*`: Apple登录配置
|
||
|
||
|
||
|
||
|
||
|