一、技术框架
1.后端服务
Spring Boot为主体框架
Spring MVC为Web框架
MyBatis、MyBatis Plus为持久层框架,负责数据库的读写
阿里云短信服务
2.存储服务
MySql
redis缓存数据
MinIO为对象存储,存储非结构化数据(图片、视频、音频),开源
3.NGINX部署
作为静态资源的HTTP服务器:静态资源HTML/CSS/JS
作为后端接口的代理服务器:代理是介于客户端和服务端之间的第三方服务,浏览器只会暴露NGINX的地址,可以隐藏后端服务的地址,避免被攻击
二、开发流程
产品经理对接需求——UI设计师设计原型图(墨刀)——架构师输出API文档——前后端开发——测试——运维
API文档在前后端分离的项目中很重要,可以分别开发
三、数据库设计
1.数据库模型
ER(实体关系)模型:
2.数据库设计流程
(1)概念模型设计
参考上述ER(实体关系)模型
(2)逻辑模型设计
为每个实体明确属性
多对多的关系中间要新建一个表,存储两边的ID
(3)物理模型设计
添加和数据库相关的信息,比如字段类型
四、接口定义
1.后台管理系统
增删改查的接口
保存数据不需要ID,数据库会自动分配;修改数据需要ID;其余信息一致,因此可将保存和修改数据的接口合二为一