学习目标:
【了解】十次方项目需求
【了解】前后端分离开发模式
【掌握】理解RESTful
【掌握】项目开发环境搭建
【掌握】父工程、公共模块的搭建
一、需求分析
1.1 项目介绍
1024项目主要是一个针对于程序员的一个社交平台,包括头条、问答、活动、交友、吐槽、招聘六大频道。类似于CSND博客网站。
1.2 项目功能架构图
二、系统设计
2.1 开发模式
①前后端分离的开发模式
②基于springcloud的微服务架构
③开发模型:敏捷开发
核心思想:以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
2.2 技术
后端:Spring Boot + Spring Cloud + MyBatis Plus + MySQL
前端:Node.js + NUXT + elementUI + Vue
2.3 微服务模块划分
微服务划分:按功能模块划分
2.4 数据库表结构分析
分库分表设计:
1、随着单库中的数据量越来越大,相应的,查询所需要的时间也越来越多,这个时候,相当于数据的处理遇到了瓶颈
2、单库发生意外的时候,需要修复的是所有的数据,而多库中的一个库发生意外的时候,只需要修复一个库
三、RESTful风格
RESTful:表现层状态转化
3.1 接口规范
- 项目使用HTTP方法:GET、POST、PUT、DELETE
幂等性:不论你请求多少次,资源的状态是一样的。
安全性:请求不会对资源造成改变。 - 3.2 GET:获取表示
- 3.3 POST:创建子资源
- 3.4 PUT:通过替换方式更新资源
- 3.5 DELETE:删除资源
3.2 请求返回响应码
四、项目开发准备
4.1 开发环境
- 系统 CentOS 7
- 容器 docker
- Java版本 JDK 1.8
- 数据库 MySQL 5.7
- 开发工具 IDEA
- 项目构建工具 Maven
4.2 MySQL建库建表
4.2.1 在CentOS 7安装docker 1.12.6 后
(1) 下载镜像
docker pull centos/mysql-57-centos7
(2) 创建容器
//name 容器名字;
//-p 3306:3306 宿主机3306端口映射到容器3306端口
//-e 指定参数 mysql的root用户密码为root
//镜像名字centos/mysql-57-centos7
docker run -id --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos7
(3) docker 常用命令
//版本号查询命令
docker -v
//docker运行状态查询命令
systemctl status docker
//重看镜像
docker images
//查看当前正在使用的容器
docker ps
4.2.2 Navicat连接Centos系统中Docker数据库
4.2.3 设计文章数据库
4.3 接口测试工具
Postman是一款强大的网页调试工具
- 能够发送任何类型的HTTP请求(GET/HEAD/POST/PUT…)
- 附带任意数量的参数