library-picturebook-activity/backend/docs/QUICK_START_ENV.md
aid 418aa57ea8 Day4: 超管端设计优化 + UGC绘本创作社区P0实现
一、超管端设计优化
- 文档管理SOP体系建立,docs目录重组
- 统一用户管理:跨租户全局视角,合并用户管理+公众用户
- 活动监管全模块重构:全部活动(统计卡片+阶段筛选+SuperDetail详情页)、报名数据/作品数据/评审进度(两层合一扁平列表)、成果发布(去Tab+统计+隐藏写操作)
- 菜单精简:移除评委管理/评审规则/通知管理
- Bug修复:租户编辑丢失隐藏菜单、pageSize限制、主色统一

二、UGC绘本创作社区P0
- 数据库:10张新表(user_works/user_work_pages/work_tags等)
- 子女账号独立化:Child升级为独立User,家长切换+独立登录
- 用户作品库:CRUD+发布审核,8个API
- AI创作流程:提交→生成→保存到作品库,4个API
- 作品广场:首页改造为推荐流,标签+搜索+排序
- 内容审核(超管端):作品审核+作品管理+标签管理
- 活动联动:WorkSelector作品选择器
- 布局改造:底部5Tab(发现/创作/活动/作品库/我的)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 22:20:25 +08:00

132 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 环境配置快速参考
## 🚀 快速开始
### 1. 创建开发环境配置
```bash
cd backend
# 创建开发环境配置文件
cat > .env.development << 'EOF'
NODE_ENV=development
DATABASE_URL="mysql://root:password@localhost:3306/competition_management_dev?schema=public"
JWT_SECRET="dev-secret-key"
PORT=3001
EOF
```
### 2. 创建生产环境配置
```bash
# 创建生产环境配置文件(不要提交到 Git
cat > .env.production << 'EOF'
NODE_ENV=production
DATABASE_URL="mysql://prod_user:strong_password@prod-host:3306/competition_management?schema=public&sslmode=require"
JWT_SECRET="$(openssl rand -hex 32)"
PORT=3001
EOF
```
### 3. 创建数据库
```sql
-- 开发环境数据库
CREATE DATABASE competition_management_dev
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 生产环境数据库
CREATE DATABASE competition_management
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
### 4. 初始化数据库
```bash
# 开发环境
pnpm prisma:generate
pnpm prisma:migrate
# 生产环境(部署时)
NODE_ENV=production pnpm prisma:migrate:deploy
```
## 📋 环境区分总结
| 项目 | 开发环境 | 生产环境 |
|------|---------|---------|
| **配置文件** | `.env.development` | `.env.production` |
| **数据库名** | `competition_management_dev` | `competition_management` |
| **启动命令** | `pnpm start:dev` | `pnpm start:prod` |
| **迁移命令** | `pnpm prisma:migrate` | `pnpm prisma:migrate:deploy` |
| **Prisma Studio** | `pnpm prisma:studio:dev` | `pnpm prisma:studio:prod` |
| **日志级别** | `debug` | `error` |
| **CORS** | `*` (所有来源) | 指定域名 |
| **SSL** | 可选 | 必须启用 |
## 🔑 关键区别
### 开发环境
- ✅ 使用本地数据库
- ✅ 简单的 JWT 密钥(便于开发)
- ✅ 详细的日志输出
- ✅ 允许所有 CORS 来源
- ✅ 热重载支持
### 生产环境
- ✅ 独立的数据库服务器
- ✅ 强随机 JWT 密钥
- ✅ 最小化日志输出
- ✅ 限制 CORS 来源
- ✅ 启用 SSL/TLS
- ✅ 连接池优化
## 📝 配置文件示例
### `.env.development`
```env
NODE_ENV=development
DATABASE_URL="mysql://root:password@localhost:3306/competition_management_dev?schema=public"
JWT_SECRET="dev-secret-key"
PORT=3001
LOG_LEVEL=debug
CORS_ORIGIN=*
```
### `.env.production`
```env
NODE_ENV=production
DATABASE_URL="mysql://prod_user:strong_password@prod-host:3306/competition_management?schema=public&sslmode=require"
JWT_SECRET="your-production-secret-key-must-be-strong-and-random"
PORT=3001
LOG_LEVEL=error
CORS_ORIGIN=https://yourdomain.com
SSL_ENABLED=true
DB_POOL_MIN=2
DB_POOL_MAX=10
```
## ⚠️ 注意事项
1. **不要提交 `.env` 文件到 Git**
2. **生产环境必须使用强密码和 JWT_SECRET**
3. **生产环境建议启用 SSL 连接**
4. **定期备份生产数据库**
5. **使用不同的数据库名称区分环境**
## 🔍 验证配置
```bash
# 检查当前环境
echo $NODE_ENV
# 验证数据库连接(开发环境)
NODE_ENV=development pnpm prisma:studio
# 验证数据库连接(生产环境)
NODE_ENV=production pnpm prisma:studio:prod
```
更多详细信息请查看 [ENVIRONMENT_CONFIG.md](./ENVIRONMENT_CONFIG.md)