docs(admin-web): 添加项目 README 文档
- 完整的本地开发指南 - Docker 部署使用说明 - Git 工作流部署流程 - Nginx 配置引导 - 项目结构说明 - 常见问题解答 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
e2047cc2c3
commit
5a6d4f98c1
|
|
@ -0,0 +1,221 @@
|
|||
# RWADurian Admin Web
|
||||
|
||||
榴莲认种管理后台 - Next.js 15 + TypeScript + SCSS
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **框架**: Next.js 15 (App Router)
|
||||
- **语言**: TypeScript
|
||||
- **样式**: SCSS Modules
|
||||
- **状态管理**: Redux Toolkit + Zustand
|
||||
- **UI 组件**: Recharts (图表)
|
||||
- **部署**: Docker + Nginx
|
||||
|
||||
## 本地开发
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Node.js 20+
|
||||
- npm 或 yarn
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### 启动开发服务器
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
访问 http://localhost:3000
|
||||
|
||||
### 构建
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
npm start
|
||||
```
|
||||
|
||||
## Docker 部署
|
||||
|
||||
### 快速部署 (推荐)
|
||||
|
||||
项目已配置 Docker 一键部署方案,使用 Git 管理代码。
|
||||
|
||||
#### 在服务器上部署:
|
||||
|
||||
```bash
|
||||
# 1. 克隆项目 (首次)
|
||||
git clone <repository-url>
|
||||
cd rwadurian/frontend/admin-web
|
||||
|
||||
# 2. 或更新代码 (已有项目)
|
||||
cd ~/rwadurian/frontend/admin-web
|
||||
git pull
|
||||
|
||||
# 3. 赋予脚本执行权限
|
||||
chmod +x scripts/*.sh deploy.sh nginx/*.sh
|
||||
|
||||
# 4. 一键部署 Docker 应用
|
||||
./scripts/deploy.sh
|
||||
|
||||
# 5. 安装 Nginx + SSL (首次需要)
|
||||
sudo ./nginx/install.sh
|
||||
```
|
||||
|
||||
### Docker 管理脚本
|
||||
|
||||
| 脚本 | 功能 |
|
||||
|------|------|
|
||||
| `./scripts/deploy.sh` | 一键部署 (构建+启动) |
|
||||
| `./scripts/build.sh` | 仅构建镜像 |
|
||||
| `./scripts/start.sh` | 启动服务 |
|
||||
| `./scripts/stop.sh` | 停止服务 |
|
||||
| `./scripts/restart.sh` | 重启服务 |
|
||||
| `./scripts/logs.sh` | 查看实时日志 |
|
||||
| `./scripts/status.sh` | 查看服务状态 |
|
||||
| `./scripts/health.sh` | 健康检查 |
|
||||
| `./scripts/clean.sh` | 清理容器和镜像 |
|
||||
|
||||
### 使用原始 deploy.sh
|
||||
|
||||
```bash
|
||||
# 启动服务
|
||||
./deploy.sh start
|
||||
|
||||
# 停止服务
|
||||
./deploy.sh stop
|
||||
|
||||
# 重启服务
|
||||
./deploy.sh restart
|
||||
|
||||
# 查看日志
|
||||
./deploy.sh logs
|
||||
|
||||
# 查看状态
|
||||
./deploy.sh status
|
||||
|
||||
# 清理
|
||||
./deploy.sh clean
|
||||
```
|
||||
|
||||
### 自定义端口
|
||||
|
||||
```bash
|
||||
PORT=8080 ./scripts/deploy.sh
|
||||
```
|
||||
|
||||
## Nginx 配置
|
||||
|
||||
### 前提条件
|
||||
|
||||
1. 域名 DNS A 记录已指向服务器 IP
|
||||
2. 防火墙开放 80 和 443 端口
|
||||
3. Docker 应用已在 3000 端口运行
|
||||
|
||||
### 一键安装 (推荐)
|
||||
|
||||
```bash
|
||||
cd nginx
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
脚本会自动完成:
|
||||
- 系统更新
|
||||
- 安装 Nginx
|
||||
- 安装 Certbot
|
||||
- 配置防火墙
|
||||
- 申请 Let's Encrypt SSL 证书
|
||||
- 配置 HTTPS 反向代理
|
||||
|
||||
### 手动配置
|
||||
|
||||
详见 [nginx/README.md](nginx/README.md)
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
admin-web/
|
||||
├── src/
|
||||
│ ├── app/ # Next.js App Router
|
||||
│ │ ├── (auth)/ # 认证相关页面 (登录、注册)
|
||||
│ │ ├── (dashboard)/ # 仪表板页面
|
||||
│ │ └── api/ # API 路由
|
||||
│ ├── components/ # React 组件
|
||||
│ │ ├── common/ # 通用组件
|
||||
│ │ ├── features/ # 功能组件
|
||||
│ │ └── layout/ # 布局组件
|
||||
│ ├── store/ # 状态管理
|
||||
│ │ ├── redux/ # Redux Toolkit
|
||||
│ │ └── zustand/ # Zustand stores
|
||||
│ ├── services/ # API 服务
|
||||
│ ├── utils/ # 工具函数
|
||||
│ └── styles/ # 全局样式
|
||||
├── public/ # 静态资源
|
||||
├── nginx/ # Nginx 配置
|
||||
│ ├── README.md # Nginx 部署文档
|
||||
│ ├── install.sh # 一键安装脚本
|
||||
│ ├── setup-ssl.sh # SSL 配置脚本
|
||||
│ └── rwaadmin.szaiai.com.conf # Nginx 站点配置
|
||||
├── scripts/ # Docker 管理脚本
|
||||
├── Dockerfile # Docker 镜像构建
|
||||
├── docker-compose.yml # Docker 编排
|
||||
├── deploy.sh # 部署脚本
|
||||
└── README.md # 本文档
|
||||
```
|
||||
|
||||
## 环境变量
|
||||
|
||||
项目使用不同的环境配置文件:
|
||||
|
||||
- `.env.local` - 本地开发
|
||||
- `.env.development` - 开发环境
|
||||
- `.env.production` - 生产环境
|
||||
|
||||
## 功能特性
|
||||
|
||||
- ✅ 用户管理
|
||||
- ✅ 排行榜
|
||||
- ✅ 权限管理
|
||||
- ✅ 数据统计
|
||||
- ✅ 系统设置
|
||||
- ✅ 帮助中心
|
||||
- ✅ 侧边栏收起/展开
|
||||
- ✅ 响应式布局
|
||||
- ✅ 健康检查 API
|
||||
|
||||
## API 端点
|
||||
|
||||
- `GET /api/health` - 健康检查
|
||||
|
||||
## 访问地址
|
||||
|
||||
- 本地开发: http://localhost:3000
|
||||
- 生产环境: https://rwaadmin.szaiai.com
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 1. Docker 构建失败
|
||||
|
||||
确保本地有 `.next` 和 `node_modules` 已添加到 `.dockerignore`
|
||||
|
||||
### 2. 502 Bad Gateway
|
||||
|
||||
检查 Docker 容器是否运行:
|
||||
```bash
|
||||
docker ps
|
||||
./scripts/status.sh
|
||||
```
|
||||
|
||||
### 3. SSL 证书申请失败
|
||||
|
||||
- 确认域名 DNS 解析正确
|
||||
- 确认 80 端口可访问
|
||||
- 查看错误日志: `sudo tail -f /var/log/letsencrypt/letsencrypt.log`
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT
|
||||
Loading…
Reference in New Issue