# 12. Development Workflow 定义全栈应用程序的开发设置和工作流: ## 12.1 Local Development Setup ### Prerequisites ```bash # 检查Node.js版本 node --version # 需要 >= 20.18.3 # 检查Docker和Docker Compose docker --version docker-compose --version # 检查MySQL和Redis客户端 mysql --version redis-cli --version ``` ### Initial Setup ```bash # 克隆项目 git clone cd shadcn-admin-template # 安装依赖 npm install # 复制环境变量文件 cp .env.example .env # 启动开发环境 npm run dev # 或者启动特定服务 npm run dev:admin # 只启动管理后台 npm run dev:api # 只启动API服务 ``` ### Development Commands ```bash # 启动所有服务 npm run dev # 启动前端开发服务器(管理后台) cd apps/admin && npm run dev # 启动后端开发服务器 cd apps/api && npm run dev # 运行测试 npm run test # 运行类型检查 npm run type-check # 运行代码检查 npm run lint ``` ## 12.2 Environment Configuration ### Required Environment Variables ```bash # 前端 (.env.local) VITE_API_URL=http://localhost:8080 VITE_APP_NAME=shadcn管理后台 # 后端 (.env) NODE_ENV=development PORT=8080 JWT_SECRET=your-super-secret-jwt-key JWT_EXPIRES_IN=7d # 数据库连接 DB_HOST=localhost DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=your-mysql-password DB_DATABASE=d8dai # Redis连接 REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD= # MinIO连接 MINIO_ENDPOINT=localhost MINIO_PORT=9000 MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin MINIO_BUCKET=uploads # 共享环境变量 APP_NAME=shadcn-admin-template LOG_LEVEL=info ``` ### 开发环境快速启动脚本 ```bash #!/bin/bash # scripts/start-dev.sh echo "启动开发环境..." # 启动Docker服务 docker-compose up -d # 等待数据库就绪 echo "等待数据库就绪..." sleep 10 # 运行数据库迁移 cd apps/api && npx typeorm migration:run # 启动开发服务器 cd ../.. && npm run dev ```