library-picturebook-activity/docs/project/01-requirements.md

129 lines
4.9 KiB
Markdown
Raw Normal View History

# 需求概述
## 1. 项目背景
广东省立中山图书馆(以下简称"广东省图")计划举办一场面向全国的少儿绘本创作活动。乐绘世界创想活动乐园作为活动管理平台,需要支撑从活动发布、用户注册、报名参与、作品提交、评审打分到成果发布的完整流程。
### 1.1 业务场景
- **活动主办方**:广东省图作为机构租户,负责活动的创建、发布和管理
- **活动受众**全国范围内的少儿3-16岁涵盖有手机号可独立注册的青少年和需要家长代为注册的幼儿
- **活动形式**:线上报名 + 线上/线下提交绘本作品 + 线上评审 + 成果发布
- **未来扩展**:可能涉及多机构联合举办活动
### 1.2 现有系统状态
系统原为"比赛管理系统",已完成以下改造:
- 所有"比赛/赛事"文案改为"活动"
- "个人赛/团队赛"改为"个人参与/团队参与"
- "赛果发布"改为"成果发布"
- UI 全面升级为少儿绘本创作主题风格Nunito 字体、Creative Indigo #6366F1 主色调)
### 1.3 核心痛点
| 痛点 | 说明 |
|------|------|
| 无公众注册入口 | 现有系统用户只能由管理员创建,无法面向公众开放注册 |
| 缺少家长-子女关系 | 少儿场景下,家长是操作主体,孩子是参与主体,现有系统没有这层关系 |
| 无公众端 | 现有系统只有管理后台,缺少面向公众的 H5 页面 |
| 活动可见范围受限 | 活动只能对指定租户发布,无法面向全体公众开放 |
| 租户类型单一 | 租户不区分类型(图书馆、学校、幼儿园等) |
---
## 2. 用户角色定义
### 2.1 平台管理员(超管)
乐绘世界运营团队成员。
**职责**
- 管理所有机构租户(创建、编辑、禁用)
- 管理系统配置(字典、菜单、权限)
- 查看全局数据和日志
### 2.2 机构管理员
入驻平台的机构(图书馆、幼儿园、学校等)的管理人员。
**职责**
- 创建和发布活动
- 管理活动报名(审核、导出)
- 管理评委(邀请、分配作品)
- 发布活动成果
### 2.3 评委
受机构邀请参与某个活动评审的专业人员。
**职责**
- 评审分配给自己的作品
- 使用评分规则打分
- 使用预设评语
### 2.4 公众用户(家长/独立参与者)
通过公众端自主注册的用户。
**职责**
- 浏览公开活动
- 以自己的身份报名活动(有手机号的青少年)
- 管理子女信息,代子女报名活动(家长)
- 提交作品
- 查看活动成果和评审结果
---
## 3. 用户故事
### 3.1 公众用户注册与参与
```
US-001作为一位家长我希望用手机号注册一个账号以便参与平台上的活动
US-002作为一位家长我希望在账号下添加我的子女信息以便为他们报名活动
US-003作为一位家长我希望为我的孩子报名广东省图的绘本创作活动
US-004作为一位家长我希望在活动提交阶段为我的孩子上传绘本作品
US-005作为一位家长我希望查看我孩子参与的所有活动和作品状态
US-006作为一个有手机号的中学生我希望自己注册账号并独立报名活动
US-007作为公众用户我希望通过微信扫码快速登录不需要记密码
```
### 3.2 活动发布与管理
```
US-101作为广东省图管理员我希望创建一个绘本创作活动并设置为全国公开可见
US-102作为广东省图管理员我希望审核来自全国各地的报名申请
US-103作为广东省图管理员我希望邀请专业评委参与作品评审
US-104作为广东省图管理员我希望查看报名数据并区分"自己报名"和"家长代报名"
US-105作为广东省图管理员我希望发布活动成果让所有参与者看到评审结果
```
### 3.3 多机构联合举办(二期)
```
US-201作为主办方我希望邀请其他机构作为协办方参与活动管理
US-202作为协办方我希望查看活动的报名数据和推荐评委
```
---
## 4. 非功能需求
| 项目 | 要求 |
|------|------|
| 端支持 | Web 浏览器 + H5 移动端(响应式设计,一套代码适配) |
| 登录方式 | 一期:账号密码;二期:手机号验证码 + 微信扫码 |
| 并发 | 支撑全国范围报名,预计峰值 500 QPS |
| 数据安全 | 少儿个人信息需加密存储,符合《个人信息保护法》对未成年人的保护要求 |
| 浏览器兼容 | Chrome、Safari、微信内置浏览器 |
---
## 5. 约束与前提
1. 基于现有 NestJS + Vue3 + Ant Design Vue 技术栈改造,不更换框架
2. 现有机构管理功能(学校管理、租户管理等)保留不变
3. 登录体系采用渐进式改造:一期先用账号密码,二期补充手机号和微信登录
4. 微信扫码登录和短信验证码功能由其他同事负责开发补充
5. 公众端先做 H5 形态,不做原生小程序