项目亮点#
热门技术:项目采 用时下企业最新的热门技术框架,如 SpringCloud-Gateway、Nacos、Sentinel等,主打一个硬核,不与真实企业项目脱节。
单体与微服务:项目提供单体版本和微服务版本,并能体验从单体架构到微服务架构的改造全过程,深入理解两种架构的优缺点。
面试硬核:项目设计贴近校招实际需求,提供把项目写进简历全套模板,提供简历修改及 1V1 咨询服务,帮助学生提升求职竞争力。
代码质量:前大厂一线开发现团队 leader 亲自下场,严格遵循代码规范和最佳实践,提高代码质量和维护性。
企业工作流:项目提供企业工作流系统,可以快速定制出适合自己公司的企业工作流系统。
项目描述#
PmHub 是一套基于 SpringCloud Alibaba 分布式微服务 & LLM 的智能项目管理系 统,这个项目旨在让同学们快速掌握微服务/分布式项目的架构设计和开发流程,如果想在校招或者社招中拿到一个满意的 offer,PmHub 将是一个非常 nice 的选择。
PmHub 包括用户、流程、项目管理、认证等服务。包含了 Redis 缓存、RocketMQ 消息队列、Docker 容器化、Jenkins 自动化部署、Spring Security 安全框架、Nacos 服务注册和发现、Spring Boot Actuator 服务监控、Skywalking 链路追踪、Sentinel 熔断降级、Seata 分布式事务、Vue 前端框架等互联网开发中需要用到的主流技术栈,可以帮助同学们快速掌握微服务/分布式项目的核心知识点。如果对开源项目感兴趣,可以关注我们的另外一个实战项目:技术派,一个前后端分离的社区项目。GitHub 上已经星标 1.5k+,不少同学就是靠这个项目在往年的校招中拿到了不错的 offer。
为了方便大家循序渐进式的学习,我们已经推出两个版本:SpringBoot 单体架构版本:适合初学者,直接运行 pmhub-boot 模块下的 pmhub-admin 中的 PmhubApplication 类即可。
微服务架构版本:适合有一定基础,想进阶学习微服务/分布式的同学,可以分别启动网关、系统、流程、项目管理、认证等多个服务。
可以根据自己的实际情况选择合适的版本进行学习,我们将会倾其所有,在第一时间帮助大家解决所有学习过程遇到的问题,让你的学习曲线变得非常丝滑😁。关于来个 offer 组织#
来个 offer 组织由二哥发起,苍何主理,旨在帮助同学们在校招、社招中拿到满意的 offer。二哥,原创公众号「沉默王二」累计 18 万+ 读者,GitHub 星标 11000+ 开源知识库《二哥的 Java 进阶之路》作者,帮助很多很多同学成功拿到满意的 offer。
苍何,原创公众号「苍何」作者,前大厂高级开发,曾就职于蚂蚁金服,科大讯飞,现国企技术总监,技术、管理、面试经验丰富。
项目 | 码云 | GitHub | 简介 |
---|
PmHub | Gitee | GitHub | 一套智能项目管理系统,即将帮助不少同学在接下来的校招/社招中斩获满意 offer。 |
技术派 | Gitee | GitHub | 一个前后端分离的社区项目,帮助过不少同学在秋招中斩获满意 offer。 |
项目详情#
技术架构#
下面这张系统架构图可以帮助大家快速了解 PmHub 项目的组织架构,从前端到网关、从服务应用到基础服务、从存储技术到运维部署,可以说是一目了然。下面这张架 构选型图可以帮助大家快速了解 PmHub 项目的技术选型,以及在官方手册中会更详细的说明我们为什么选择该技术,毕竟授人以鱼不如授人以渔嘛。下面这张技术架构图可以帮助大家快速了解 PmHub 项目的技术架构,以及各个模块之间的交互关系。项目演示#
代码展示#
代码结构#
com.laigeoffer.pmhub
├── pmhub-ui // 前端框架 [1024]
├── pmhub-gateway // 网关模块 [6880]
├── pmhub-auth // 认证中心 [6800]
├── pmhub-api // 接口模块
│ └── pmhub-api-system // 系统接口
├── pmhub-base // 通用模块
│ └── pmhub-base-core // 核心模块
│ └── pmhub-base-datasource // 多数据源
│ └── pmhub-base-seata // 分布式事务
│ └── pmhub-base-security // 安全模块
│ └── pmhub-base-swagger // 系统接口
├── pmhub-modules // 业务模块
│ └── pmhub-system // 系统模块 [6801]
│ └── pmhub-gen // 代码生成 [6802]
│ └── pmhub-job // 定时任务 [6803]
│ └── pmhub-project // 项目服务 [6806]
│ └── pmhub-workflow // 流程服务 [6808]
├── pmhub-monitor // 监控中心 [6888]
├──pom.xml // 公共依赖
项目部署#
环境准备#
后端项目启动#
第一步,下载项目源码#
网络比较通畅的小伙伴可以直接从 GitHub 上拉取,命令如下:git clone git@github.com:laigeoffer/pmhub.git
国内的小伙伴也可以直接使用码云 Gitee 上的镜像仓库地址拉取:git clone https://gitee.com/laigeoffer/pmhub.git
也可以直接下载 GitHub 上的压缩包,然后解压到本地。我个人一直比较喜欢实用 GitHub 桌面版来管理仓库,图形化界面操作起来也比较舒服。第二步,使用 Intellij IDEA 导入项目#
第三步,导入数据库#
也可以是其他名字,只要在配置文件里修改对应的数据库名即可。
②、导入数据库文件,路径在 pmhub/sql/pmhub_20240305.sql 和 pmhub/sql/pmhub_nacos_20240423.sql可以直接右键在 terminal 终端中打开,然后通过 pwd 和 ls 命令查看文件的绝对路径。拿到绝对路径后,就可以在 Navicat 中导入数据库文件了。第四步,基础环境准备#
可以选择本机直接安装 MySQL,也可以通过 Docker 的方式,但需要做好磁盘挂载,推荐本机安装!①、如果你是 macOS 用户,可以直接在终端输入redis-server
启动 Redis。②、如果你是 Windows 用户,可以直接双击 redis-server.exe 启动 Redis。③、当然也可以直接通过 Docker 启动 Redis。官网下载 Nacos,找到 /conf/application.properties 文件,修改数据库连接信息。可以直接复制 pmhub/docker/nacos/conf/application.properties 内容。修改下数据库配置信息为你自己的数据库,本地启动可以把鉴权关了。1. 如果数据库名也是 laigeoffer-pmhub,那么只需要修改用户名和密码即可。
2. 如果用户名也是 root,那么只需要修改密码即可。
3. 如果密码也一样,那么就不需要修改了(不可能,绝对不可能这么巧😂)。
①、如果你是 macOS 用户,可以直接在终端输入sh startup.sh -m standalone
启动 Nacos。②、如果你是 Windows 用户,可以直接双击 startup.cmd 启动 Nacos。第五步,启动各个微服务#
注意:如果遇到服务启动失败,可自行查看 nacos 配置是否做了修改,如数据库连接信息等。
找到 pmhub-gateway 项目,右键 Run PmHubGatewayApplication.main()。找到 pmhub-auth 项目,右键 Run PmHubAuthApplication.main()。找到 pmhub-system 项目(在pmhub-modules 下),右键 Run PmHubSystemApplication.main()。
pmhub-system 启动前需要修改 nacos 中的 pmhub-system-dev.yml 配置文件,修改数据库连接信息为你自己的数据库。④、启动 pmhub-project 项目管理服务找到 pmhub-project 项目(在pmhub-modules 下),右键 Run PmHubProjectApplication.main()。启动前需要修改 nacos 中的 pmhub-project-dev.yml 配置文件,修改数据库连接信息为你自己的数据库。⑤、启动 pmhub-workflow 流程管理服务找到 pmhub-workflow 项目(在pmhub-modules 下),右键 Run PmHubWorkflowApplication.main()。启动前需要修改 nacos 中的 pmhub-workflow-dev.yml 配置文件,修改数据库连接信息为你自己的数据库。找到 pmhub-gen 项目(在pmhub-modules 下),右键 Run PmHubGenApplication.main()。启动前需要修改 nacos 中的 pmhub-gen-dev.yml 配置文件,修改数据库连接信息为你自己的数据库。找到 pmhub-job 项目(在pmhub-modules 下),右键 Run PmHubJobApplication.main()。启动前需要修改 nacos 中的 pmhub-job-dev.yml 配置文件,修改数据库连接信息为你自己的数据库。找到 pmhub-monitor 项目,右键 Run PmHubMonitorApplication.main()。启动前需要修改 nacos 中的 pmhub-monitor-dev.yml 配置文件,修改监控后台的用户名和密码,以及首页展示标题。前端项目启动#
Swagger 地址#
服务器部署(Docker 方式)#
技术选型#
常见问题答疑#
公众号#
加微信群交流,关注公众号「苍何」,回复「加群」即可 。