一个关于面经的网站开发全程记录--1

172 阅读3分钟

这个项目是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、搭建项目

image.png

- config 配置包  swagger配置类,Redis配置类,各种配置往里边塞
- controller  不多说了
- entity  同上
- mapper/xml  同上
- service/serviceImpl  同上
- utils 各种工具类  MD5加密,JWT工具类,统一返回结果R类,VO类,统一异常返回类

创建完数据库和数据表之后,找代码生成器CodeGenerator(这玩意我是不会写)逆向工程生成包里边具体的类,就可以开始写具体的接口了。

7、上传gitee

搭建好的项目上传到gitee上边,小组成员pull下来之后,就可以开始写自己负责的代码了。

结语

大概的流程就是这样,项目的目的是将自己学到的东西进行实践,实践出真知。多动手,SSP像你招手。因为也是第一次从头到尾开始一个完整的项目,难免有不妥当的地方,发博客也是为了记录自己动手搞过一点东西,大家理性借鉴,指点不足。

后边还会具体的呈现,模块相应的功能,等开发的差不多了会公布gitee仓库,因为这个项目是一个小组弄得,也得看大家的意见。