需求文档
weblab需求文档
web端、后端、idea端、部署端
web端主要功能用于信息管理和维护
web端需要分学生和教师端
认证授权
采用springboot和redis,签发token
配置独立的redis服务器用于存放用户session
目前redis服务器地址:123.56.220.39:6379 root 911ABCabc+
注册
邮箱注册,注册完毕激活后,即自动分配gitlab私服和云数据实例
登录
登录只在web端进行,idea端只保存token,token过期跳转web端再次登录
- 共用一个登录接口。根据返回结果,跳转
- 插件登录:由web端拷贝token(自定义加密规则)
项目管理
创建新项目
必须在web端创建,由后端自动在gitlab初始化,返回git地址
必须:项目名
可选:组织名
可选:是否公开、仓库介绍
个人项目和团队项目 - 建立项目时,表单收集必要信息,由后台自动在gitlab创建
- 创建之后可跳转到gitlab
流程 - 前端->后端(维护数据库,暂不考虑队伍,建立项目)
- 返回git或者url
删除项目、查询和修改维护
必须在web端进行(RUD)
项目拉取
web端不予考虑,在ideal端进行,在idea上由git clone下来
项目运行
- 代码直接运行暂时由idea端负责,web端不予考虑
- 直接上传jar包,由web端负责
- web端需能查看对应项目的实时输出日志(websocket)
服务、容器
- 创建容器,push完代码自动创建
- 销毁
- docker性能 后期考虑
插件
group、repository、branch、user、psd
代码在重新部署后需要关闭之前的docker
人员管理
个人中心 - 学生在个人中心能看到自己的组织,并选择退出和加入组织,加入组织使用邀请码(由老师生成)
- 个人信息(邮箱、昵称、等)CRUD
教师端组织管理 - 建立组织,生成邀请码(有过期时间)
- 手动加入某个用户进入组织
- 将用户移出组织
- 查看组织内学生的信息(个人信息,项目信息,项目地址。。。)
教师发布信息 - 以组织为单位,发布作业或者通知,在该组织的学生能够看到老师的作业,通知
教师测试
。。。