博客介绍
从头开始做黑马的苍穹外卖项目
每天记录一下新学的知识点以及对应的开发进度
然后一些在项目中遇到的问题会重点标注
本篇主要是后端的,前端会一笔带过
软件开发流程
流程 | 介绍 |
---|---|
需求分析 | 需求规格说明书和产品原型设计 |
设计 | UI设计,数据库设计,接口文档设计 |
编码 | 项目代码,单元测试 |
测试 | 测试用例,测试报告 |
上线运维 | 软件环境安装,配置 |
软件环境介绍
项目介绍
平常大家看到的这种外卖平台的项目
是一个单店的外卖点餐系统
管理端,可以进行菜品管理、分类管理、订单管理等
用户端进行点餐操作,部署到微信小程序上
这里是全部的业务模块
然后我们看具体的业务板块
产品原型
这个产品原型是可以操作的
也有对应效果,但是不会连接数据库
真正的储存数据(一套前端页面)
产品原型
然后右滑会有具体的逻辑需求
客户端
技术选型
前端环境搭建
因为是后端教程前端以及打包好了
就是直接运行nginx即可(需要放在无中文的目录中)
后端环境搭建
maven项目搭建
git
该文件下是git不管理的文件
target文件,idea文件夹 iml、class结尾的文件,test文件夹,Test.java文件基本也都是用来测试或者idea自己的一些文件,所以这些都不用git来帮我们管理
IDEA可以快速创建
添加成功后,上面会出现对应图标
第一个蓝色的就是更新版本(变成之前的版本)
第二个提交至本地仓库
第三个push,提交到远程仓库
这是是只提交到本地仓库的(正常但是提交且push,这里我们还没建远程仓库)
然后我们建一个远程仓库
然后关联本地打开和远程仓库,提交到远程仓库上,我这里用的github
如果报错,看一下这篇文章
SSL certificate problem: unable to get local issuer certificate 错误解决
根据提示登陆一下idea
然后推送就可以,gtihub上就会有一次新的提交
默认是弄到master分支,至于怎么弄到main分支我也不知道(之前默认分支叫master,现在叫main)
数据库搭建
数据库搭建
我们简单点就用一个建表语句
这里我资源绑定了自己去下载一下
在查询控制台运行一下即可
其实是有数据库设计文档的
这里我们偷下懒,因为这个本来就是标注好的,大家估计也会写sql语句
所以根据就不用自己再写一篇
前后端联调
测试一下登陆的操作
把这个文件的数据库连接信息改一下
这样就可以通过默认的账号密码进去了
具体内容可以进行断点联调来观察具体程序是怎么执行的
Nginx反向代理
中间经过nignx进行反向代理
并不是前端中间发送请求到后端,而是前端先发送请求给nignx然后nignx再请求后端
nginx反向代理的好处
1.提高访问速度 nignx可以做缓存
2.进行负载均衡 具体看图片
3.保证后端安全 后端的服务器一般都是一个局域网,前端不能直接请求,需要先请求nginx然后才能访问到后端
反向代理配置
location /api/会把api以及之前缓存指定前缀,后缀不变组成一个新的请求路径
负载均衡配置
没有指定负载均衡策略就是轮询(一个请求换一台服务器)