docs(readme): add deployment and usage guide
This commit is contained in:
@@ -71,23 +71,23 @@
|
|||||||
|
|
||||||
> 状态说明:`[x]` 已完成,`[ ]` 进行中/未开始(请随开发进度更新)
|
> 状态说明:`[x]` 已完成,`[ ]` 进行中/未开始(请随开发进度更新)
|
||||||
|
|
||||||
| 顺序 | 功能实现项(用户视角) | 你会看到的效果 | 状态 |
|
| 顺序 | 功能实现项(用户视角) | 你会看到的效果 | 状态 |
|
||||||
|---|---|---|---|
|
| ---- | ---------------------------------- | --------------------------------------- | ---- |
|
||||||
| 1 | 明确产品能力与交互流程 | 确认 TodoList 的核心使用方式与页面路径 | [x] |
|
| 1 | 明确产品能力与交互流程 | 确认 TodoList 的核心使用方式与页面路径 | [x] |
|
||||||
| 2 | 实现基础登录(邮箱验证码) | 可以注册/登录并进入主页面 | [ ] |
|
| 2 | 实现基础登录(邮箱验证码) | 可以注册/登录并进入主页面 | [ ] |
|
||||||
| 3 | 实现任务基础能力(增删改查) | 可以创建、编辑、删除、完成任务 | [ ] |
|
| 3 | 实现任务基础能力(增删改查) | 可以创建、编辑、删除、完成任务 | [ ] |
|
||||||
| 4 | 实现富文本与媒体内容 | 任务详情可插入图片、视频、链接等内容 | [ ] |
|
| 4 | 实现富文本与媒体内容 | 任务详情可插入图片、视频、链接等内容 | [ ] |
|
||||||
| 5 | 实现本地离线存储(Dexie) | 无网时仍可打开并编辑任务 | [ ] |
|
| 5 | 实现本地离线存储(Dexie) | 无网时仍可打开并编辑任务 | [ ] |
|
||||||
| 6 | 实现云端同步与冲突处理 | 恢复网络后自动同步,冲突按规则合并 | [ ] |
|
| 6 | 实现云端同步与冲突处理 | 恢复网络后自动同步,冲突按规则合并 | [ ] |
|
||||||
| 7 | 实现提醒系统(邮件) | DDL 临近时收到邮件提醒 | [ ] |
|
| 7 | 实现提醒系统(邮件) | DDL 临近时收到邮件提醒 | [ ] |
|
||||||
| 8 | 实现 AI 问答(用户自带 Key) | 可直接用自己的 AI API Key 获取建议 | [ ] |
|
| 8 | 实现 AI 问答(用户自带 Key) | 可直接用自己的 AI API Key 获取建议 | [ ] |
|
||||||
| 9 | 实现 Astrbot Provider 接入 | 可复用 Astrbot 内配置的 AI 提供商 | [ ] |
|
| 9 | 实现 Astrbot Provider 接入 | 可复用 Astrbot 内配置的 AI 提供商 | [ ] |
|
||||||
| 10 | 实现公共 AI 通道(可开关) | 管理员开启后,用户可直接使用站点公共 AI | [ ] |
|
| 10 | 实现公共 AI 通道(可开关) | 管理员开启后,用户可直接使用站点公共 AI | [ ] |
|
||||||
| 11 | 实现 Astrbot Skill 对接 | 可通过 QQ 机器人添加/修改任务与获取建议 | [ ] |
|
| 11 | 实现 Astrbot Skill 对接 | 可通过 QQ 机器人添加/修改任务与获取建议 | [ ] |
|
||||||
| 12 | 实现完整账号安全(2FA + OAuth) | 支持 2FA、QQ/微信/GitHub 登录 | [ ] |
|
| 12 | 实现完整账号安全(2FA + OAuth) | 支持 2FA、QQ/微信/GitHub 登录 | [ ] |
|
||||||
| 13 | 实现 PWA 安装与离线体验优化 | 支持“添加到桌面”,像本地 App 一样使用 | [ ] |
|
| 13 | 实现 PWA 安装与离线体验优化 | 支持“添加到桌面”,像本地 App 一样使用 | [ ] |
|
||||||
| 14 | 实现管理后台(配额/日志/系统配置) | 管理员可管理用户配额、站点信息、日志 | [ ] |
|
| 14 | 实现管理后台(配额/日志/系统配置) | 管理员可管理用户配额、站点信息、日志 | [ ] |
|
||||||
| 15 | 上线前安全与性能收尾 | 使用更稳定、更安全,核心链路可观测 | [ ] |
|
| 15 | 上线前安全与性能收尾 | 使用更稳定、更安全,核心链路可观测 | [ ] |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -151,6 +151,97 @@ TodoList/
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 部署与使用
|
||||||
|
|
||||||
|
### 1. 环境要求
|
||||||
|
|
||||||
|
- Node.js `20.x`
|
||||||
|
- pnpm `9.15.2`
|
||||||
|
- PostgreSQL `14+`(本地或远程都可)
|
||||||
|
- 可选:MinIO / S3(附件上传功能使用)
|
||||||
|
|
||||||
|
### 2. 安装依赖
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm install
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 后端环境变量配置
|
||||||
|
|
||||||
|
1. 复制环境变量示例文件:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp apps/api/.env.example apps/api/.env
|
||||||
|
# PowerShell:
|
||||||
|
# Copy-Item apps/api/.env.example apps/api/.env
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 至少修改以下配置:
|
||||||
|
|
||||||
|
- `DATABASE_URL`:你的 PostgreSQL 连接串
|
||||||
|
- `AUTH_ACCESS_SECRET`:生产环境请改为高强度随机值
|
||||||
|
- `MAIL_SMTP_*`:邮件服务器配置(验证码/提醒邮件)
|
||||||
|
- `OAUTH_*`:第三方登录配置(未接入可先保留示例值)
|
||||||
|
- `S3_*`:对象存储配置(未启用附件可后续再配)
|
||||||
|
|
||||||
|
### 4. 初始化数据库
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter @todolist/api exec prisma db push
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. 本地开发启动
|
||||||
|
|
||||||
|
1. 启动后端(默认端口 `3000`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter @todolist/api start:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 启动前端(默认端口 `5173`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter web dev
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 若前端需连接非默认后端地址,可设置:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
VITE_API_BASE_URL=http://localhost:3000
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. 生产构建与运行
|
||||||
|
|
||||||
|
1. 构建:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 运行 API(需先构建):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter @todolist/api start
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 发布 Web:
|
||||||
|
|
||||||
|
- `apps/web/dist` 为静态资源产物,建议使用 Nginx/静态托管服务发布。
|
||||||
|
|
||||||
|
### 7. CI/CD 说明(当前仓库)
|
||||||
|
|
||||||
|
- PR 质量检查:`.github/workflows/pr-quality.yml`
|
||||||
|
- Web 部署模板:`.github/workflows/deploy-web.yml`
|
||||||
|
- Admin 部署模板:`.github/workflows/deploy-admin.yml`
|
||||||
|
- API 镜像构建:`.github/workflows/api-docker-image.yml`
|
||||||
|
|
||||||
|
说明:
|
||||||
|
|
||||||
|
- Web/Admin 工作流通过 Webhook 触发真实部署,需在仓库 Secrets 配置:
|
||||||
|
- `WEB_DEPLOY_WEBHOOK_URL`
|
||||||
|
- `ADMIN_DEPLOY_WEBHOOK_URL`
|
||||||
|
- API 镜像工作流仅在存在 `apps/api/Dockerfile` 时执行镜像构建与推送。
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
本项目遵循 [GNUv3](./LICENSE)。
|
本项目遵循 [GNUv3](./LICENSE)。
|
||||||
|
|||||||
Reference in New Issue
Block a user