这个项目是fourpeople一块搞一下,实践一下,我有自己负责的任务,发博客记录一下
废话不说,开整
1、开发小组 -- fourpeople
2、 讨论网站具体做哪方面,服务对象是谁等
- 面向程序员的面经类网站
- 包括各种面试经验贴
- 讨论区
- 面试题等
3、讨论网站的初步模块
一下子不可能很系统的规划项目,先行动起来,边搞边完善。 首先先搞单体的,后边再拆分微服务
- 前台模块
用户相关
- 用户登录注册,初步使用手机号注册,手机号登录,选择阿里短信服务,实现单点登录
- 用户个人信息修改
- 用户发布面经
首页功能
- 面经模块 面经游览、点赞、收藏量,面经收藏,热榜TOP,评论(多级)
- 讨论区 类似于贴吧那种
- 面试题模块
- 后台模块
- 用户信息 CRUD
- 面经 CRUD
- 讨论区 CRUD
- 权限 采用RBAC0模
4、数据图设计
大家借鉴和结合一些开源项目的数据库进行初步设计,意思是别光规划,规划部分之后一定要动手
初步设计了七张表用户表、面经表、面经收藏表、评论表、讨论区表、标签表,面试题表。后边在梳理用户权限的时候肯定还要加表,目前先做着,后边用到再创建,还是那句话,先动起来,慢慢完善。
5、技术选型
大概流程先阐述一下:
由于刚开始搭建的是单体应用,直接创建SpringBoot工程,导入相应的依赖即可,在gitee上边创建仓库,由一个人搭建好项目的具体环境之后,push到仓库上边,成员直接pull到本地即可,创建dev分支,将master分支设为保护,大家的代码都push到dev分支上,后面管理员再merge到master上。
- SpringBoot 2.6.6
- MyBatis-Plus
- Swagger 做接口测试用的,当然POSTMAN也是可以的
- Redis
- MySQL
- LomBok 简化实体类
- ES
- Kafka
暂时就这么多,后边用到什么再加入相应的依赖即可,拆分微服务的时候肯定用到SpringCloud相关的依赖。
前端的话因为我们小组里边都不是搞这玩意的,到时候一块用框架修改,边学边用。
MySQL 和 Redis弄到了服务器上边,主要比较方便哈哈哈
大概就这些,后面搞得完善了再补充
6、搭建项目
- config 配置包 swagger配置类,Redis配置类,各种配置往里边塞
- controller 不多说了
- entity 同上
- mapper/xml 同上
- service/serviceImpl 同上
- utils 各种工具类 MD5加密,JWT工具类,统一返回结果R类,VO类,统一异常返回类
创建完数据库和数据表之后,找代码生成器CodeGenerator(这玩意我是不会写)逆向工程生成包里边具体的类,就可以开始写具体的接口了。
7、上传gitee
搭建好的项目上传到gitee上边,小组成员pull下来之后,就可以开始写自己负责的代码了。
结语
大概的流程就是这样,项目的目的是将自己学到的东西进行实践,实践出真知。多动手,SSP像你招手。因为也是第一次从头到尾开始一个完整的项目,难免有不妥当的地方,发博客也是为了记录自己动手搞过一点东西,大家理性借鉴,指点不足。
后边还会具体的呈现,模块相应的功能,等开发的差不多了会公布gitee仓库,因为这个项目是一个小组弄得,也得看大家的意见。