本项目的主要是仿写在线旅游微信小程序,实现了酒店相关的基本服务:包括用户功能、酒店功能、订单相关功能。
项目采用的前后端分离的开发方式,这样加快项目的开发效率,职能更加清晰。
后端采用的技术:
1、SpringBoot
2、MyBatisPlus
3、Elasticsearch
4、MinIO
5、Lombok
6、Hutool
7、PageHelper
前端采用的技术:
1、Vue
2、h5、css3
3、Vue-router
系统的架构图如下:
开发过程中用的工具:
1、IntelliJ IDEA ,java开发ide工具
2、Chiner,数据库设计工具
3、Navicat,数据库连接工具
4、apipost,API接口调试工具
5、gitee,代码版本管理工具
项目开发的整个流程:
1、分组进行需求分析,每个小组针对自己分配下来的功能任务进行详细分析,然后形成需求分析文档。在小组内部,每个人把功能进行拆分,已达到每个功能的细化和整个模块的功能的覆盖(不缺失),然后在组内进行讨论形成一份统一的需求文档。在需求分析的阶段大家充分发挥了积极性,对功能点积极讨论,积极发言,献言献策。
2、数据库表的设计。在第一步完成确认后,进行数据库表的设计。在这一步使用了Chiner数据库设计工具。刚开始大家对数据库的表中的字段名,字段类型、字段范围的设计,并不符合规范,这个也是大部分人的不足,后面经过几轮的讨论和规范,还有业务的逻辑的梳理,逐渐形成了一份比较符合规范的数据库设计。
3、功能接口设计,该阶段是针对功能和设计好的数据库,给出具体的接口文档,在这个阶段用到了apipost工具,这个工具相对于以前使用的postman功能更强大,在团队合作方面的优势更强,组内还是先各自进行自己的功能进行接口设计。在这个接口设计阶段发现了许多问题,比如接口的命名,接口参数的的命名和类型、接口的返回参数,都需要有相应的规范。
4、代码编写,这个阶段主要是大家在已经搭建好的项目工程下进行开发。
项目工程结构:
开发的时候使用到了gitee代码管理工具 ,
4.1 首先各自在自己的分支进行开发,以免大家都在一个分支开发,前期产生不必要的冲突。这一步开发完成后,对代码规范进行检查:变量的声明是否规范、代码的层次是否清晰、异常捕获是否简洁、逻辑判断代码是否简洁易懂。
4.2 各个小组成员代码合并到一个组的开发分支,进行代码合并和冲突解决,这个步骤很好的模拟了现实开发中的代码冲突解决,使没有过真正开发经验的小组成员体验了真正的编码阶段的场景。
4.3 各个小组统一把代码合并到develop分支中,这样大家可以在同一个分支进行开发
4.4 每个小组成员对各自的接口进行测试和优化
4.5 后端开发人员和前段人员进行联调
5、代码部署上线
把整个后端代码和前端代码部署到线上服务器,进行发布
6、后期的数据库优化和代码优化
以上6个步骤基本覆盖了真实项目开发的步骤,虽然不是100%全覆盖,但是也算是90%了。在参与整个项目的一个多月中,收获满满,团队协作、遇到没有学到的知识的应该如何处理、对于规范的理解、数据库设计和优化的更深的理解都有一定的提高、还有一些新工具的使用,使我知识的广度得到很好的提高。