2021.4.15
今天开会,领导让本人与另一个同事准备接收一个新项目——考试系统。
具体来说,考试系统是一个已经开发完成的项目,原来由其他项目组负责的,现在要让我们项目组负责。
要负责考试系统后续的优化、功能完善、运维等。
<目前的工作主要是根据需求在已有的系统上增加新功能,很少从头开始开发一个新系统。>
2021.4.16
今天收到了考试系统的交接文件,文件类型比较齐全,在此记录一下(以后交接时也可以参考下准备哪些文件):
一、系统简介PPT
二、详细架构文档doc
三、生产/测试环境部署图svg
四、相关资源清单xls(包含每台服务器ip、作用、内容;开发与测试)
五、运维手册doc(常见运维问题与解决方法)
六、项目部署(发版)手册doc(开发与测试)
七、接口文档doc(接口url,功能,入参,出参)
八、数据库架构htm(数据库名,表名,字段名等)
2021.4.19-2021.4.22
最近在学习考试系统的文档,并且从内部git上获得了后台代码。
记录下相关技术栈:
springboot、golang、dubbo、zookeeper、websocket、springcloud-configserver、kafka(mq)、redis、mysql、nginx;
vue、angular
记录下详细架构文档的结构(可供以后写文档参考):
一、物理架构设计
1.容器视图,介绍整个项目有哪些子项目,每个子项目的功能,部署图、流程图等。
例如,项目从网关开始,到各个子项目,用到了websocket、redis、kafka、mysql,以及项目用到了springcloud-configserver,从git上统一获取配置信息。
2.扩展性架构,分析系统中哪些模块可能遇到流量等瓶颈,分析如何解决,如何扩展项目,例如增加服务器、升级服务器硬件,以及升级后如何调整软件,例如修改jvm启动参数、nginx增加upstream配置等。
3.部署说明,介绍如何发版项目。
二、软件架构设计
1.分层架构,从软件角度介绍系统分层。
2.技术栈,介绍软件与版本,例如springboot2.1.6Release
3.代码组织,介绍idea打开后的结构。
2021.4.23
今天,有一名考试系统的同事分到了我们项目组,负责交接工作。
主要研究本地如何启动考试系统后台项目。
1.由于缺少mysql、redis等的ip:port的访问权限,无法启动项目,需要申请权限。(以及读取配置信息的git的权限)
2.使用idea打开项目后,在Project Structure->Modules中引入了项目需要的10多个module,等待maven刷新依赖,但是项目还是无法启动,提示缺少某些java文件,例如QCourse.java
解决方法:发现缺少的java文件位于target->generated-sources->com.xxx.commons下,也就是说是maven中点击install生成的,而不是项目自带的;
所以要按顺序点击每个项目(module)中的maven的install,生成相应target下的java文件,然后项目才能启动。
*生成的java文件有@Generated注解;由于大部分项目都不用点击install就能直接启动,这是首次遇到的需要先install才能启动的项目,所以记录一下。