ps以下是一些碎碎念:终于把苍穹外卖给敲完啦!前后历时了一个月。比预计中的拖拉了许多,当然也是因为中途有一些事情,导致没有每天能在线。所以这篇就来做个随笔笔记吧!本人菜鸟,轻喷哈哈!
刚开始当然是得明确一下团队分工的职责(虽然只有一个人),但是假想是一个团队还是很必要的 以下是一些常见的角色分工。
而一个项目的开发过程又大致包含如下阶段:
终于进入正题了!我们来看看逐一苍穹外卖的各个方面。
其是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,旨在为餐厅的商家接单、派送等的管理、用户的下单功能进行服务。
管理端 - 外卖商家使用
用户端 - 点餐用户使用
在技术方面,几乎把之前学的的技术都用上了。而且各个结构也非常清楚,让人一目了然。
既然是前后端开发,那肯定得有接口文档。而前后端开发我们这里用到了YApi来对要开发的接口进行管理和查看接口开发的规范
YApi:YApi Pro-高效、易用、功能强大的可视化接口管理平台
注意:由于开发阶段前端和后端是并行开发的,后端完成某个功能后,此时前端对应的功能可能还没有开发完成,导致无法进行前后端联调测试。所以在开发阶段,后端测试主要以接口文档测试为主。
接口文档访问路径为 http://ip:port/doc.html
后端的开发基于 maven 进行项目构建,并且进行分模块开发,进行了代码的解耦。
每一次的业务功能的开发,我们都提交到Git上面去,这使得我们在开发过程中更容易对开发进度可见,在出现问题时,也可以很方便的回溯到上一次的提交。强烈推荐养成使用Git进行版本控制的习惯。
使用Git进行项目代码的版本控制,具体操作:
•创建Git本地仓库
•创建Git远程仓库
•将本地文件推送到Git远程仓库
传统的数据存储,我们使用MySQL来进行存储。通过建表语句,把数据存储到其中。
但是传统数据库的存储模式,这就使得我们需要数据时就得去数据库中不断的读取数据。而我们很多时候需要读取的数据都是重复的,所以引进了redis,其相当于我们电脑的内存,在我们读取数据时先去redis里面逛一圈,看看有没有我们需要的数据,有就在其中读取,无则去MySQL中读取。这样一来就大大的减少了我们读取数据时耗费的时间,加快了我们的响应速度。
在我们初步开完 发一个接口后,我们就需要进行前后端联调来验证我们开发的接口是否正确。而在这个过程,我们不得不来思考一个问题:前端发送的请求,是如何请求到后端服务的?
到这里我们就得请出nginx来作为中间的桥梁了:
nginx 反向代理,就是将前端发送的动态请求由nginx 转发到后端服务器
nginx 反向代理的好处:
•提高访问速度
•进行负载均衡
•保证后端服务安全
密码加密存储:
直接将登录密码存储到数据库中?不!安全性太低了。我们来使用MD5来对密码进行加密,这样就算被别有用心的人获得了我们的管理员账号意图来获得用户密码,也增加了难度。提高安全性。