3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验

本文主要讲解关于3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验相关内容,让我们来一起学习下吧!

中后台管理系统中的小众群体项目,此项目算起来已维护有 1 年半时间,依赖每天下班后 20:00-23:00 及部分假期的业余时间。

起因有很多,但最后开始则是现所处公司主要做管理系统,于代码洁癖的个人来讲,想在公司开发项目时,有一个良好的开发体验,不止是后端的开发体验。而一开始就开源出来,除了希望借助开源的力量,帮忙找找 Bug,其次就是愿契合这个小众群体的朋友开发管理系统时也舒服、规范一些。

近期刚上新 v3.0.1,前端推翻重做(< v2.5 版本前端样式还行,但前端开发体验太差),有兴趣的小众大佬欢迎指点。

友情提示:没看过代码就不要评论换皮、换壳,各种 admin 大佬项目,咱要是抄,维护 1 年半也不至于还没上个定时任务。Talk is cheap, show the code.

先放截图及演示环境,已经点进来且仍有兴趣的大佬您再往下拉,没兴趣的大佬您转身。

📚 在线文档 | 🚀 演示地址(账号/密码:admin/admin123)

系统截图

受篇幅长度及功能更新频率影响,下方仅为系统 部分 功能于 2024年5月3日 进行的截图,更多新增功能及细节请访问演示环境或 clone 代码到本地启动查看。

3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验
3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验 3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验

对了,响应式也做了做处理。

3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验

3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验

简介

ContiNew Admin(Continue New Admin)持续迭代优化的前后端分离中后台管理系统框架。开箱即用,重视每一处代码规范,重视每一种解决方案细节,持续提供舒适的开发体验。

当前采用的技术栈:Spring Boot3(Java17)、Vue3 & TS & Vite & Arco Design、Sa-Token、MyBatisPlus、Redisson、JetCache、JustAuth、Crane4j、EasyExcel、Liquibase、Hutool 等。

项目源码

Gitee GitHub
后端 gitee.com/continew/co… github.com/Charles7c/c…
前端 gitee.com/continew/co… github.com/Charles7c/c…
2.5 版本前端 gitee.com/continew/co… github.com/Charles7c/c…

为什么选它

如需完整图文描述,请点击打开《在线文档》查阅。

1.甄选技术栈: ContiNew(Continue New) 项目致力于持续迭代优化,让技术不掉队。在技术选型时,进行深度广泛地调研,从流行度、成熟度和发展潜力等多方面甄选技术栈。 e.g. 前端:Vue3 & Arco Design Vue(字节出品,高颜值,丰富细节 UI 框架)、TypeScript、Vite5;后端:Spring Boot3、Sa-Token、MyBatis Plus、Redisson、JetCache、Crane4j、Hutool 等。

2.Starter 组件: 从 v2.1.0 版本开始,抽取并封装后端基础组件及各框架集成配置到 ContiNew Starter 项目,且 已发布至 Maven 中央仓库,可在你的任意项目中直接引入所需依赖使用。即使你不用脚手架项目,难道能让你搭项目框架更快、更爽、更省力的 Starter 也要 Say No 吗?

3.CRUD 套件: 封装通用增删改查套件,适配后端各分层,几分钟即可提供一套 CRUD API,包括新增、修改、批量删除、查询详情、分页列表查询、全部列表查询、树型列表查询、导出到 Excel,且 API 支持按实际所需开放或扩展。

@Tag(name = "部门管理 API")
@RestController
@CrudRequestMapping(value = "/system/dept", api = {Api.TREE, Api.GET, Api.ADD, Api.UPDATE, Api.DELETE, Api.EXPORT})
public class DeptController extends BaseController<DeptService, DeptResp, DeptDetailResp, DeptQuery, DeptReq> {}

4.代码生成器: 提供代码生成器,已配套前、后端代码生成模板,数据表设计完之后,简单配置一下即可生成前、后端 80% 的代码,包含 CRUD API、权限控制、参数校验、接口文档等内容。如果业务不复杂,也可能就是 99% 的代码。

5.改善开发体验: 持续适配、优化能改善开发体验的组件。

  • 适配 Crane4j 数据填充组件,减少因为一个用户名而产生的联表回填;
  • 适配 P6Spy SQL 性能分析组件,开发期间方便监控 SQL 执行;
  • 适配 TLog 链路追踪组件,方便在杂乱的日志文件中追踪你某次请求的日志记录;
  • 适配 JetCache 缓存框架(比 Spring Cache 更强大易用),通过注解声明即可快速实现方法级缓存,极大改善编码式缓存体验,且支持灵活的二级缓存配置、分布式自动刷新等能力;
  • 适配 ContiNew Starter 组件,针对多数框架进行了深度封装的 starter,改善你在开发每个 Spring Boot Web 项目的体验。

6.Almost最佳后端规范: 后端严格遵循阿里巴巴 Java 编码规范,注释覆盖率 > 45%,接口参数示例 100%,代码分层使用体验佳,变量、方法命名清晰统一,前端代码也使用严格的 ESLint、StyleLint 等检查。良好的设计,代码复用率极高!写代码时,让你有一种无需多写,理应如此的感觉。代码洁癖者的福音,不看莫吱声。
3.0 后的前端更令人惊喜。

7.卓越工程: 后端采用模块化工程结构,并适配了统一项目版本号、编译项目自动代码格式化、代码混淆等插件,提供了自定义打包部署结构配置(配置文件、三方依赖和主程序分离),提供全套环境及应用的 Docker Compose 部署脚本。为了减少您开发新项目时的改造耗时,项目品牌配置持续进行深度聚合,简单的配置和结构修改即可快速开始独属于你的新项目。

8.业务脚手架: 有颜有料,不止是说说而已,无论是 2.5 还是 3.0,UI 细节的打磨都可以让你无需过多调整即可拿来商用。提供基于 RBAC 的权限控制、通用数据权限,包含丰富的通用业务功能:第三方登录,邮箱、短信(生产级炸弹漏洞处理方案),用户管理、角色管理、部门管理、文件管理、系统配置、系统日志、消息中心、公告等,设计用心,逻辑合理闭环。

一个好的脚手架项目,不仅仅是提供一系列组件集成与配置,也不仅仅是封装一堆好用的工具,还更应该提供一系列通用基础业务解决方案及设计,为初创团队项目减负。

9.高可靠代码: 项目 CI 已集成 Sonarqube、Codacy,Push 即触发代码质量扫描,并定期进行 CVE 漏洞扫描,及时解决潜在问题。

由于篇幅有限,且项目正处于高速发展期,更多功能正在陆续上线(敬请关注仓库或群内动态)。另外像最基本的统一异常、错误处理,基础线程池等配置就不在此赘述,细节优化详情请 clone 代码查看。

Talk is cheap, show me the code.

系统功能

更多功能和优化正在赶来💦,最新项目计划、进展请进群或关注 任务清单 和 更新日志。

  • 个人中心:支持基础信息修改、安全设置(密码修改、邮箱绑定、手机号绑定(并提供行为验证码、短信限流等安全处理)、第三方账号绑定/解绑)、头像裁剪上传等能力
  • 用户管理:提供系统用户的新增维护,支持禁用登录及重置指定用户密码
  • 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
  • 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
  • 部门管理:可配置系统组织架构,以树形表格展示
  • 公告管理:提供公告的发布、查看和删除等功能。管理员可以在后台发布公告,并可以设置公告的生效时间、终止时间,以 markdown-it 为内核渲染 Markdown 格式内容显示
  • 消息管理:提供消息查看、标记已读、全部已读、删除等功能(适配对接导航栏站内信功能)(v3.1 重构,v2.5 版可用)
  • 字典管理:提供对系统公用数据字典的维护,例如:公告类型,支持字典标签背景色和排序等配置
  • 文件管理:提供文件上传、下载、预览(目前支持图片、音视频)、重命名、切换视图(列表、网格)等功能
  • 存储管理:提供文件存储库新增、编辑、删除等功能,支持本地存储、兼容 S3 协议存储
  • 系统配置:提供修改系统标题、Logo、favicon 等基础配置功能,以方便用户系统与其自身品牌形象保持一致(v3.1 支持邮件配置)
  • 代码生成:提供根据数据库表自动生成相应的前后端 CRUD 代码的功能
  • 在线用户:管理当前登录用户,可一键踢下线
  • 系统日志:提供登录日志、操作日志管理功能,可查看指定日志的详细请求及响应信息

核心技术栈

前端:Vue3 & TS & Vite5 & Arco Design Vue,下方为后端主要技术栈介绍。

名称 版本 简介
ContiNew Starter 2.0.0 ContiNew Starter 包含了一系列经过企业实践优化的依赖包(如 MyBatis-Plus、SaToken),可轻松集成到应用中,为开发人员减少手动引入依赖及配置的麻烦,为 Spring Boot Web 项目的灵活快速构建提供支持。
Spring Boot 3.1.10 简化 Spring 应用的初始搭建和开发过程,基于“约定优于配置”的理念,使开发人员不再需要定义样板化的配置。(Spring Boot 3.0 开始,要求 Java 17 作为最低版本)
Undertow 2.3.10.Final 采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。
Sa-Token + JWT 1.37.0 轻量级 Java 权限认证框架,让鉴权变得简单、优雅。
MyBatis Plus 3.5.5 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,简化开发、提高效率。
dynamic-datasource-spring-boot-starter 4.3.0 基于 Spring Boot 的快速集成多数据源的启动器。
Hikari 5.0.1 JDBC 连接池,号称 “史上最快连接池”,SpringBoot 在 2.0 之后,采用的默认数据库连接池就是 Hikari。
MySQL 8.0.33 体积小、速度快、总体拥有成本低,是最流行的关系型数据库管理系统之一。
mysql-connector-j 8.0.33 MySQL Java 驱动。
P6Spy 3.9.1 SQL 性能分析组件。
Liquibase 4.20.0 用于管理数据库版本,跟踪、管理和应用数据库变化。
JetCache 2.7.5 一个基于 Java 的缓存系统封装,提供统一的 API 和注解来简化缓存的使用。提供了比 SpringCache 更加强大的注解,可以原生的支持 TTL、两级缓存、分布式自动刷新,还提供了 Cache 接口用于手工缓存操作。
Redisson 3.28.0 不仅仅是一个 Redis Java 客户端,Redisson 充分的利用了 Redis 键值数据库提供的一系列优势,为使用者提供了一系列具有分布式特性的常用工具:分布式锁、限流器等。
Redis 7.2.3 高性能的 key-value 数据库。
X File Storage 2.1.0 一行代码将文件存储到本地、FTP、SFTP、WebDAV、阿里云 OSS、华为云 OBS...等其它兼容 S3 协议的存储平台。
SMS4J 3.2.1 短信聚合框架,轻松集成多家短信服务,解决接入多个短信 SDK 的繁琐流程。
Just Auth 1.16.6 开箱即用的整合第三方登录的开源组件,脱离繁琐的第三方登录 SDK,让登录变得 So easy!
Easy Excel 3.3.4 一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。
AJ-Captcha 1.3.0 Java 行为验证码,包含滑动拼图、文字点选两种方式,UI支持弹出和嵌入两种方式。
Easy Captcha 1.6.2 Java 图形验证码,支持 gif、中文、算术等类型,可用于 Java Web、JavaSE 等项目。
Crane4j 2.7.0 一个基于注解的,用于完成一切 “根据 A 的 key 值拿到 B,再把 B 的属性映射到 A” 这类需求的字段填充框架。
Knife4j 4.5.0 前身是 swagger-bootstrap-ui,集 Swagger2 和 OpenAPI3 为一体的增强解决方案。
Hutool 5.8.27 小而全的 Java 工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅,让 Java 语言也可以“甜甜的”。
Lombok 1.18.30 在 Java 开发过程中用注解的方式,简化了 JavaBean 的编写,避免了冗余和样板式代码,让编写的类更加简洁。

后记

看完上面您仍有意,欢迎进群交流:技术支持 | ContiNew Admin。项目交流群 190+ 水友。

发过仅一篇软文,各种“高端”、“爱做狗”评论都有,不予过多置评,良言一句三冬暖,恶语伤人六月寒。

Talk is cheap, show the code.

以上就是关于3.0 已发布:中后台管理系统中的小众,代码洁癖只专注企业开发的舒适体验相关的全部内容,希望对你有帮助。欢迎持续关注程序员导航网,学习愉快哦!

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...