沸点对外报名系统需求分析
——编写人:张世豪
一、系统概述
1、系统描述
1.1、介绍
对外报名系统旨在让各个组织有一个展示和管理组织的平台。
1.2、项目人员分工
UI设计:胡玲玲、崔甜
前端:田鑫鑫
后台:殷超、张世豪
2、系统框架
前端:vue
后台控制端:SpringBoot+Mybatis
数据库服务端:MySQL+Redis

3、业务流程
创建组织:

绑定QQ微信:

忘记密码:

二、功能性需求
系统功能模块描述
1、注册
1、用户可以通过邮箱方式注册:填写邮箱,发送验证码,注册成功
2、使用QQ、微信登录,之后绑定邮箱
2、登录
多种选择方式:帐号密码登录、验证码登录
QQ、微信登录
3、创建组织
1、用户注册后,可以创建组织,提交创建组织的申请;
2、等待系统管理员审核通过后,组织创建成功;
4、招新
1、用户可通过组织名搜索组织,查看组织介绍;
2、通过填写并提交组织提供的报名表,申请加入组织;
5、消息提醒
1、通过邮箱提醒系统管理员处理创建组织的申请
2、用户可以绑定邮箱、qq、微信,系统提供提醒消息服务;
3、消息类型:有人申请加入组织、有人退出组织、有人留言等等;
6、留言、聊天
1、用户可在组织下留言;
2、用户可以给组织管理员和创建者发消息
7、组织空间
1、需要可以提交新成员的报名表,并显示在组织空间中(实现在线查看报名表)
2、其他功能大致跟沸点wiki的功能差不多,在线写周报、提交周报(最好支持markdown)
8、关注用户、组织
1、主页面通过用户名搜索,查询用户和用户创建的组织;
2、通过组织名或组织创建者搜索,查询组织信息;
3、可以关注组织和其他用户,可设置关注用户的动态提醒;
三、数据描述
1、数据库表
1.1、用户表
| 属性 | 数据类型 | 说明 |
|---|---|---|
| user_id | int(11) | 用户ID |
| varchar(255) | 用户邮箱(unique) | |
| user_name | varchar(255) | 用户名(昵称)(unique) |
| user_password | varchar(255) | 用户密码 |
| varchar(255) | 用户QQ | |
| register_date | datetime | 用户注册日期 |
| avatar_url | varchar(255) | 用户头像 |
1.2、组织表
| 属性 | 数据类型 | 说明 |
|---|---|---|
| organization_id | int(11) | 组织ID |
| user_id | int(11) | 创建者ID(外键) |
| organization_name | varchar(255) | 组织名称(unique) |
| organization_type | varchar(255) | 组织类型(创建后不可更改) |
| organization_introduction | text | 组织介绍 |
| entry_form | varchar(255) | 组织报名表模板 |
| status | int(11) | 组织状态,0未创建,1审核中,2创建成功 |
| logo_url | varchar(255) | 组织logo(头像) |
| register_date | datetime | 组织创建日期 |
1.3、组织成员表
| 属性 | 数据类型 | 说明 |
|---|---|---|
| organization_memebr_id | int(11) | 组织成员表Id |
| user_id | int(11) | 成员Id(外键) |
| is_admin | int(11) | 是否为管理员,0不是,1为创建者,2为管理员 |
1.4、组织文件表
| 属性 | 数据类型 | 说明 |
|---|---|---|
| organization_file_id | int(11) | 组织文件ID |
| organization_id | int(11) | 组织ID(外键) |
| file_url | varchar(255) | 文件URL |
| file_type | varchar(255) | 文件类型(报名表、周报等) |
1.5、系统管理员表
| 属性 | 数据类型 | 说明 |
|---|---|---|
| admin_id | int(11) | 系统管理员ID |
| admin_name | varchar(255) | 系统管理员昵称(unique) |
| varchar(255) | 系统管理员帐号 | |
| password | varchar(255) | 系统管理员密码 |
2、数据库表对应关系
2.1、用户表——组织表
一对多:一个用户可创建多个组织
用户表的user_id是组织表中user_id的外键
2.2、组织表——组织文件表
多对一:多个组织的文件都存储在一个组织文件表中
组织表的organization_id是组织文件表中organization_id的外键
2.3、用户表——组织成员表
多对多:多个用户可能在一个组织中,一个用户也可能在多个组织中
用户表的user_id是组织成员表中user_id的外键
四、安全性设计
1、权限管理
2、用户密码加密
3、组织成员信息加密
部分信息可选择不显示
五、友好性设计
交互设计
六、项目进度安排
1、第一阶段
时间:本学期期中考试之前,大概两个月:2019-09-01——2019-11-01
实现简单功能:
1、登录注册:邮箱验证码注册登录
2、组织创建、组织搜索、组织介绍信息显示
3、组织发布报名表、用户填写并上传报名表
4、组织空间显示已提交的报名表
5、组织成员在线查看成员报名表
2、第二阶段
时间:本学期结束之前,大概两个月:2019-11-15——2020-1-15
1、接入QQ、微信模块
实现QQ、微信的注册登录,绑定
2、留言、聊天功能
用户在空间介绍下方留言;
用户之间可在线聊天、留言
3、空间wiki功能
类似于沸点wiki的基本功能,在线写周报、提交周报(最好支持markdown)
4、消息提醒服务
留言和新消息提醒功能;
用户和组织新动态提醒功能
5、关注功能
关注用户或组织


