《从零开始的毕业设计》-ELS中台快递物流调度系统(一)搭建项目环境

1,002 阅读5分钟

相关文章

前言

博主是一名大四🐕,正准备找工作和毕业设计,某一天在掘金中发现一篇文章讲的是中台思想设计的物流调度系统。直呼绝绝子!

image.png

基于中台思想的物流系统设计(一) - 掘金 (juejin.cn) @银河1号

里面的作者给出了一个大概的系统设计架构,和一些数据表的设计。但是没有给源码实现。 我心想,这不刚好能照着作者的思路设计好嘛,对于我这种新手小白来说,已经帮我越过了很多歪路。

image.png 于是便有了《从零开始的毕业设计》这个系列,当作是抛砖引玉,把我走过的一些坑,和思考的过程记录下来。

如果你在阅读的过程中,感觉到恶心、晕眩等不适症状....都是正常现象。水平有限,还请多多包容,要是能够在评论区留下你的宝贵意见,帮助博主改善十年脑血栓,那就更好了!

搭建环境

项目工程部分

Q: 设计系统第一步是什么?

image.png

那当然是创建文件夹(项目)

项目名字

在创建项目之前,我们还要为我们的项目起一个名字,我的导师建议是一个比较具体的管理系统,因此我想到了快递物流调度系统。为了更加高端大气一点,我们起一个洋气一点的。

image.png

快递调度系统(Express logistics system)

从原作者那边明白了系统的设计大概,主要是分为基础能力层产品服务层。而产品服务层是由基础能力层的基础上扩展而来的。

并且原作者已经把基础能力层划分好了四个部分: img

这边我对他进行一些扩展变成五个部分(多了一个用户能力):

image.png

image.png

并且我还希望这个项目能显得牛一点,就直接上微服务了,其实像平时课程大作业、毕业设计这种,做个单机的估计也就差不多,交了作业估计就不会再管了,QPS根本不足以要上微服务。

但是为了秀一下技术,还是决定做成微服务的,如果毕业设计换做2年前我的也能做,那就没必要花时间来重新做了,并且如果认真地去做一个项目的话,对日后的帮助是很大的。

很快啊,这边就根据上面画的图,搭建好了。

image.png

packaging

<packaging>
    pom
</packaging>

这里要把把packaging 从jar设置为pom,因为我们是用pom文件进行管理整个项目的

dependencyManagement

我们使用dependencyManagement来管理我们引入依赖的版本

image.png

我们的子项目就可以不用写版本号,直接通过父项目进行版本控制

image.png

image.png

数据库部分

原作者非常地好啊!直接帮我们把数据表都设计好了,我们反手就是一个白嫖,直接拿来主义!

image.png

我们也是非常地快,创建好了表。但是你会发现我并没有把原作者所有的数据表都创建,这是因为我想要完成一个功能模块之后,再去创建其他表。

因为功能模块和表之间有对应关系,免得后面把所有的表都创建好了,然后去数据库找数据的时候,面多那么多涨不是自己设计的表,想要找到想要的字段,是非常头疼的,可以看得出来我创建这个表,是为了实现物流订单能力

服务通信能力

如果你在细心留意了我上面引入的依赖,你就会发现我是选择使用Nacos作为我的注册中心

没错!还真是!

由于Nacos的文档非常地清晰明了,我们不需要去看视频、文章啥的,直接撸文档就行。

Nacos Spring Cloud 快速开始

image.png

先是把Nacos server端开启来,我是window用户,cmd走起

image.png

这里注意的是,Nacos默认开启时集群模式,我们需要通过-m 参数来设置单机模式,完整的命令:

startup.cmd -m standalone

然后反手就是Ctrl + C 、Ctrl + V大法,把示例复制到自己的项目当中直接跑起来。

nacos还有自己的一个dashboard,当我们开启了Nacos server之后通过http://localhost:8848/nacos/ 就能查看具体的信息,进去会让你输入用户名和密码,默认都是nacos

image.png

这边可以看到我起了2个服务,user(8005端口)和order(8003端口)的。

然后我们用user去调用order的

image.png

image.png

那么服务通信能力也调试成功了,基本的项目架构已经完成成型。

创建仓库

一个牛逼的项目,往往都会有自己的专属仓库地址,为了显得高大上,我们这个不怎么牛逼的项目,也需要一个仓库地址。

在idea上面安装github插件就能一键创建仓库了

image.png

image.png

仓库地址

ashlee618/ELS (github.com)

感觉仓库空空的,稍微装饰一下,看起来比较专业

image.png

这样看起来就舒服多了,文档的事情就日后慢慢补充吧!今天就到此为止!继续刷Leetcode,卷死他们

image.png