Agileboot 1.6.0 发布啦 - 一款致力于规范/精简/可维护 的 Springboot + Vue3 的快速开发脚手架

2022-12-07 20:13:46 +08:00
 ngduncent

⚡平台简介⚡

AgileBoot 是一套开源的全栈精简快速开发平台,毫无保留给个人及企业免费使用。本项目的目标是做一款精简可靠代码风格优良项目规范的小型开发脚手架。 适合个人开发者的小型项目或者公司内部项目使用。也可作为供初学者学习使用的模板项目。

有任何问题或者建议,可以在 Issues 中提给作者。 也可以发 PR 。

您的 Issue 比 Star 更重要 😆

😜 如果觉得项目对您有帮助,可以来个 ⭐ Star ⭐

💥 在线体验 💥

演示地址:

账号密码:admin/admin123

项目地址:

🌴 项目背景 🌴

本项目基于 Ruoyi 项目进行完全重构改造。
首先非常感谢 Ruoyi 作者。但是 Ruoyi 项目存在太多缺陷。

很多人直接使用开源项目二开,但是代码不规范,可维护性不高,导致使用者的二开的成本比较高。

于是我做了大量的重构工作。

重构内容

✨ 使用 ✨

技术栈

技术 说明 版本
springboot Java 项目必备框架 2.7
druid alibaba 数据库连接池 1.2.8
swagger 文档生成 3.0.0
mybatis-plus 数据库框架 3.5.2
hutool 国产工具包(简单易用) 3.5.2
mockito 单元测试模拟 1.10.19
guava 谷歌工具包(提供简易缓存实现) 31.0.1-jre
junit 单元测试 1.10.19
h2 内存数据库 1.10.19
jackson 比较安全的 Json 框架 follow springboot

🙊 系统内置功能 🙊

🙂 大部分功能,均有通过 单元测试 集成测试 保证质量。

功能 描述
用户管理 用户是系统操作者,该功能主要完成系统用户配置
部门管理 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限
岗位管理 配置系统用户所属担任职务
菜单管理 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能
角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分
参数管理 对系统动态配置常用参数
通知公告 系统通知公告信息发布维护
🚀 操作日志 系统正常操作日志记录和查询;系统异常信息日志记录和查询
登录日志 系统登录日志记录查询包含登录异常
在线用户 当前系统中活跃用户状态监控
系统接口 根据业务代码自动生成相关的 api 接口文档
服务监控 监视当前系统 CPU 、内存、磁盘、堆栈等相关信息
缓存监控 对系统的缓存信息查询,命令统计等
连接池监视 监视当前系统数据库连接池状态,可进行分析 SQL 找出系统性能瓶颈

目前版本是 V1.6 ,将在 2.0 版本后陆续新增新功能。

🐯 工程结构 🐯

agileboot
├── agileboot-admin -- 管理后台接口模块(供后台调用)
│
├── agileboot-api -- 开放接口模块(供客户端调用)
│
├── agileboot-common -- 精简基础工具模块
│
├── agileboot-infrastructure -- 基础设施模块(主要是配置和集成)
│
├── agileboot-domain -- 业务模块
├    ├── user -- 用户模块(举例)
├         ├── command -- 命令参数接收模型(命令)
├         ├── dto -- 返回数据类
├         ├── model -- 领域模型类
├         ├── query -- 查询参数模型(查询)
│         ├────── UserApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
│
├── agileboot-integration-test -- 集成测试模块
│
├── agileboot-orm -- 数据映射模块(仅包含数据相关逻辑)
├    ├── entiy -- 实体类
├    ├── enums -- 数据相关枚举 
├    ├── mapper -- DAO 
├    ├── query -- 封装查询对象 
├    ├── result -- 封装多表查询对象 
└──  └── service -- 服务层

代码流转

请求分为两类:一类是查询,一类是操作(即对数据有进行更新)。

查询:Controller > xxxQuery > xxxApplicationService > xxxService(Db) > xxxMapper
操作:Controller > xxxCommand > xxxApplicationService > xxxModel(处理逻辑) > save 或者 update (本项目直接采用 JPA 的方式进行插入已经更新数据)


🎅 技术文档 🎅

最后

本项目的目标是做一款精简可靠,代码风格优良,项目规范的小型开发脚手架。 适合个人开发者的小型项目或者公司内部项目使用。也可作为供初学者学习使用的案例。

希望大佬们有兴趣的话~ 可以一起来完善这个项目,让这个项目更规范,代码更好维护,真正成为一款能作为生产直接使用的开源项目。

PS: 鄙人前端小白,仅在对应的 ruoyi 原版前端项目上做了大概 50%的重构。能力有限,有没有前端大佬一起来重构一下前端项目呀~~ 目前打算改成 TS 。

全栈技术交流群:1398880

2585 次点击
所在节点    程序员
10 条回复
ngduncent
2022-12-07 20:19:59 +08:00
欢迎大佬们~来提提意见~~
顺便问问有前端大佬一起来优化重构前端项目吗~~~
me221
2022-12-07 20:26:26 +08:00
www.agileboot.cc

==============
网站暂时无法访问
该网站未根据工信部相关法律规则进行备案。
subframe75361
2022-12-07 20:28:58 +08:00
已 star 支持~
ngduncent
2022-12-07 20:47:37 +08:00
@me221 可以先试试 www.agileboot.vip 这个备案号了
ngduncent
2022-12-07 20:48:25 +08:00
捞一个前端大佬呀~~~~~~ 有没有前端大佬帮忙优化一下对应前端项目~~
muchenlou
2022-12-08 08:52:51 +08:00
可以整个多租户的版本吗
ruoxie
2022-12-08 13:55:49 +08:00
前端仓库地址贴错了,如果是我写前端我会选择 TSX + Ant Design Vue (用了 vue3 之后只用过 Ant Design Vue ,因为对 TSX 支持程度更好,开发体验也更好,template 方式对 TS 的支持太差了)。ps:除非给的太多,不然这辈子我是不想碰非 TS 写的前端项目了
kylix
2022-12-08 17:20:14 +08:00
看了下有点眼熟,仔细一看是基于若依的。
想法不错,支持!
ngduncent
2022-12-08 18:52:42 +08:00
@kylix 嗯嗯 基于 ruoyi 改造 ruoyi 初衷不错 但是好乱
ngduncent
2022-12-08 18:55:37 +08:00
@ruoxie sorry 。。。 我现在才发现我贴错地址了。。
之前也有想改成 ant design vue.. 但是不是官方维护的,有点顾虑
嗯嗯 前端项目有打算改成 TS
我是前端菜鸟~ 欢迎大佬再给点意见~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX