从零开始自搭项目 – QingLuoPay
一,为什么要从零开始自搭项目
首先在介绍这个项目之前先介绍一下我为什么要选择从零自搭项目,而不是跟着网上哪些视频等做项目。
之前的很长一段时间我也都是在网上找一些做项目的视频就包含黑马的(神领物流,今日指数等),在次之后也去牛客啊这些网站去看看其他优秀的人简历是怎么写的。无一例外,采用了是没什么技术解决了什么什么问题,当然我的简历也是。不能一板子打死的说这种简历有问题,其技术方面是很突出的,或者说就是一味的去堆技术栈,而对业务方面重视不够。当所有人的简历都是这个样子,那么HR挑人的评判标准就不是你的项目,你的技能了(当一千份简历当中有800份都是相似的,那么HR为什么要选择面试你?当然要么就是你的学历,竞赛等其他因素足够高),因此我决定开始自己从零自搭项目,从业务需求入手,对我的简历进行重构。
接下来就介绍一下我经过选型之后所选择的项目 – QingLuopay,直白点说就是一个支付项目。该项目主要由运营平台服务端,商户系统服务端组成,通过抽取微信/支付宝等支付接口,实现支付功能的轻量化对接,用户只需通过在平台注册相关信息就可轻松实现支付。
在该项目当中我也参考了一些优秀的开源项目如
项目名称 | 地址 |
---|---|
神领物流(支付模块) | https://www.yuque.com/ares666/iie8vg?pwd=guek |
Jeepay | https://gitee.com/jeequan/jeepay |
闪聚支付 | https://www.bilibili.com/video/BV17v411V79c |
项目git地址:https://gitee.com/jixuonline/qing-luo-pay.git
该项目会持续更新,欢迎大家评论区指导留言。
二,项目结构
├── qingluopay-authentication – 鉴权
├── qingluopay-codegen – 保存实体类对象
├── qingluopay-core – 核心依赖包
├── qingluopay-manage – 运营平台服务端[11210]
├── qingluopay-merchant – 商户系统服务端[11211]
└── qingluopay-payment – 支付业务实现
三,技术架构
软件名称 | 描述 | 版本 |
---|---|---|
Jdk | Java环境 | 1.8 |
Spring Boot | 开发框架 | 2.5.3 |
Redis | 分布式缓存 | 3.2.10 |
MySQL | 数据库 | 5.6.X |
RabbitMQ | 消息中间件 | 3.8 |
Sa-Token | 鉴权 | 1.39.0 |
Mybatis-Plus | MyBatis增强工具 | 3.4.2 |
apifox | 接口管理 | 2.6.41 |
Hutool | Java工具类库 | 5.6.6 |
四,工程结构
├── Service层 – 相对具体的业务逻辑服务层
├── Controller层 – 处理用户请求、调用业务逻辑并返回响应
├── Mapper层 – 用于映射SQL语句与Java对象的桥梁,负责数据库的增删改查操作。
├── DTO – 数据传输对象,与前端打交道,传给前端
├── Entity – 与数据库表结构一一对应的实体类
└── VO – 处理前端传入后端的对象
目前我对项目的整个框架设计如上所示,这是我目前可以想到的结构框架了,后续如果还有需求的增加会动态进行修改