前面的文章提到了很多有关于后端开发当中会用到的技术栈,但是如果只是简单的罗列这些技术栈,而不是把他们综合运用起来的话,对于我们的学习是每页帮助的,因此从这篇文章开始,逐步的去写一些有关于后端项目的文章,来一步步把学过的知识给运用起来
苍穹外卖的课程模块
其本质上是搭建出来一个平台,然后平台内部又是由许多个不同的模块进行组成的,比如基础的模块,点餐模块,统计模块,这些对于一个项目的开发来说都是必不可少的,然后每个模块下面又会有其各自的功能,然后功能再往下就是功能的实现部分了,怎么实现这个功能的问题
功能的实现



项目介绍
项目介绍:
这个项目需要具备哪些的功能【这个项目是干啥的】,这个是最基本的!


产品原型
一个项目的话,一般都需要有一个产品原型出来,就说,我点击这个按钮需要有什么样的功能进行呈现,点击了之后,会跳转到哪一个页面,会进行什么样的数据处理和呈现,相当于就是一个初始状态的项目!

技术选型
要明确在项目开发的过程中,需要用到哪些技术和工具来进行项目的开发!

开发环境搭建
前端环境的搭建
现在大多数的企业都是采用了前后端分离的方式进行项目的开发构建,因此在此处也是采用同样的方式进行项目的开发和构建
在本项目中主要开发的是JAVA后端,因此Java前端的项目开发在此处不做过多的要求
nginx必须要放在没有中文的目录中才能开发运行!

nginx默认是采用80端口进行项目的开发

后端环境搭建
后端架构
简述;
后端开发的话,每一个模块都是负责去实现某一个具体的功能!功能的实现依赖于不同模块之间的协同开发
模块与模块之间并不是完全割裂的,每个模块之间是相互有联系的,一个模块可能需要调用另外一个模块里面的一些类来实现对应的功能,因此一般是一个父工程下面有很多个子模块,这是一般的项目开发结构
在未来到企业里面进行项目开发工作的时候,一般是企业会提供给你一个现成的项目架构,然后再在这个架构的基础上进行项目的开发工作/工程。





git环境的搭建
git本地仓库+git远程仓库来共同构建项目
步骤:
数据库环境搭建
简单来说就是把表和数据库建好
一般来讲,每个项目的开发,一般都是独立的使用一个数据库,这个项目的开发不会和其他的项目的数据库共同来使用,因此可以认为是,一个项目一般代表的就是一个数据库,然后这个数据库里面存放着很多用来实现对应功能的表。
每个功能的实现,其背后基本都有张不可或缺的表,这张表的结构是与我们业务开发过程中涉及到的用户信息息息相关的,因此表结构对于项目的开发来说也是格外重要的!
前后端联调
简介
一般在项目启动之前,都会进行编译操作,先对项目整体进行编译的操作,编译操作一般是在父工程进行的,这样子他下面所有的子工程都会被编译到,因此一般都是在父工程上面进行项目的编译工作

补充:登录验证功能的实现
工作流程:登录验证部分
nginx反向代理
问题分析:
在项目开发过程中,我们会发现前端的请求地址和后端接口地址并不是同一个地址,但是一般来讲,我们前面开发的过程中都是保持一致的,那为什么这里不一样了呢?因为在这里引入了nginx反向代理技术。

反向代理技术
就是前端对应一个接口,先去访问到nginx,然后通过nginx进行进一步的转接操作,来间接地去访问后端服务器。两者之间并不是直接进行关联的
为什么要这么做呢?


反向代理的配置

负载均衡的配置
负载均衡的配置一般就是用来分配每台服务器之间的工作流程的,有很多种分配数据访问的方式,根据业务开发过程中的实际需要来进行合理的预估!


登录功能的完善
问题分析
数据库中的密码都是明文显示的,如果数据库信息泄露,则会导致用户的用户名和密码也跟着泄露出去了,会非常的不安全,因此考虑使用加密技术进行加密操作
解决思路

步骤

接口文档
开发流程





利用swagger来生成接口文档





