入职一家新公司,少不了要接手自己不熟悉的项目,有可能是开发已久的老项目,也有可能是从零开始的新项目。今天就来聊聊如何接手一个从零开始的新项目,主要以mall项目为例来聊聊项目开发流程、技术选型以及框架搭建!
mall项目简介
这里还是简单介绍下mall项目吧,mall项目是一套基于 SpringBoot + Vue + uni-app 的电商系统,目前在Github已有60K的Star
,包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员等功能,功能很强大!
开发流程
一个完整的从零开始
开发的项目,会涉及到功能设计、数据库设计、项目框架搭建、接口设计与实现等流程,具体可以参考下图。
与我们后端开发有关的主要是功能设计、数据库设计、接口设计与实现这三部分,当然接口设计与实现中也包含项目框架的搭建。
技术选型
其实在项目初期,比如产品正在设计功能原型的时候,我们就可以开始搭建项目框架了。所谓的搭建项目框架,简单来说就是搭建项目的脚手架,主要是选用一些主流技术,来实现一些项目的基础功能,比如在项目中整合MyBatis、MongoDB、Redis来实现数据存储。当然你也可以实现一些通用的业务功能,比如你在做一个后台管理系统,可以实现一个通用的权限功能。
在进行技术选型的时候,我们需要选择一些主流的框架及版本
,比如在我的mall项目中就选择了如下技术。
技术 | 版本 | 说明 |
---|---|---|
SpringBoot | 2.7.5 | 容器+MVC框架 |
SpringSecurity | 5.7.4 | 认证和授权框架 |
MyBatis | 3.5.10 | ORM框架 |
MyBatisGenerator | 1.4.1 | 数据层代码生成 |
RabbitMQ | 3.10.5 | 消息队列 |
Redis | 7.0 | 分布式缓存 |
MongoDB | 5.0 | NoSql数据库 |
Elasticsearch | 7.17.3 | 搜索引擎 |
LogStash | 7.17.3 | 日志收集工具 |
Kibana | 7.17.3 | 日志可视化查看工具 |
Nginx | 1.22 | 静态资源服务器 |
Druid | 1.2.14 | 数据库连接池 |
MinIO | 8.4.5 | 对象存储 |
Hutool | 5.8.0 | Java工具类库 |
PageHelper | 5.3.2 | MyBatis物理分页插件 |
Swagger-UI | 3.0.0 | 文档生成工具 |
logstash-logback-encoder | 7.2 | Logstash日志收集插件 |
docker-maven-plugin | 0.40.2 | 应用打包成Docker镜像的Maven插件 |
框架搭建
技术选型完成后,就可以进行项目框架的搭建了,在搭建过程中,有些技术我们可能并不是很熟悉,这时候我们需要先去学习这些技术,再把这些技术整合到我们的项目中去。
比如我们的项目中需要用到MinIO、Elasticsearch、RabbitMQ这些技术,如果我们之前没接触过的话,就得先学习下,最好自己实现个小的使用案例,把这个案例调试通了,再整合到项目中去。
以我的mall项目为例,在搭建项目的脚手架时,我经历了下面这个过程。
总结
接手从零开始的项目,对于没有搭建过项目框架的小伙伴来说确实有点难,但是大家只要有完整的项目框架搭建经验
,就会简单不少了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。