2 Star 21 Fork 6

waynaqua / crowd-admin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

crowd-admin

分支名称 Spring Boot 版本 JDK 版本
main 2.7.16 17
spring4.0 spring4.0 1.8

Language

项目介绍

基于jdk17、springboot2.7重构而来,crowd-admin是一个后台权限管理系统脚手架,集成了rbac权限管理、消息推送、邮件发送、任务调度、代码生成、elfinder文件管理等常用功能,系统内各个业务按照模块划分,前台使用H+模板。是一个java新人易于上手,学习之后能够快速融入企业开发的指导项目

主要特性

  • 前后端支持stomp高级协议,完善的websocket配置,支持自定义用户认证、连接周期监听等
  • 支持系统参数配置,支持spring内存的@Cacheable注解
  • 项目按功能模块化拆分,自定义全局统一异常输出,代码清晰合理
  • 集成elfinder模块,包含完整的文件管理操作,包含文件上传、删除、压缩、移动、预览等诸多操作
  • 支持后台消息/邮件推送、数据字典、系统参数配置、各模块操作日记记录
  • 支持系统服务监控、在线用户监控、数据源监控等操作
  • 支持redis/ehcache切换使用
  • 支持ip2region本地化
  • 支持多数据源操作
  • 前端使用H+模板,样式美观,支持ajax下载文件,js代码简洁,清晰,避免过度封装
  • 在线地址

如果有任何使用问题,欢迎提交Issue或加关注我公众号私信我告知,方便互相交流反馈~ 💘。最后,喜欢的话麻烦给我个star

关注公众号:waynblog,每周更新最新技术文章。回复关键字:

  • 学习:加群交流,群内问题都会一一解答。
  • 演示账号:获得线上项目管理后台演示账号。
  • 开源项目:获取博主自己写的三个开源项目,包含PC、H5商城、后台权限管理系统等。


内置模块

  1. 系统管理
    • 用户管理:系统操作者,可绑定多角色
    • 角色管理:菜单权限携带者,可配置到按钮级权限
    • 菜单管理:配置系统目录,菜单链接,操作权限
    • 部门管理:用户所属部门
    • 日志操作:记录用户操作,包含请求参数
  2. 邮件服务
    • 邮件发送:基于activeMQ异步发送邮件
  3. 办公通知
    • 我的通知:接收当前用户得通知信息
    • 通知管理:管理员发送并管理通知消息
  4. 基础管理
    • 数据字典:对系统中经常使用的一些较为固定的数据进行维护
    • 文件管理:集成elfinder,便于对系统内文件进行查看修改
  5. 系统工具
    • 代码生成:可动态根据数据库表,生成后台java代码
    • 任务调度:根据调度策略以及执行目标配置任务调度
    • 任务日志:记录任务日志,方便排错追踪
  6. 系统监控
    • 在线用户:当前系统中活跃用户状态监控,可强制下线用户
    • 数据监控:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈
    • 系统服务:监视当前系统CPU、内存、磁盘、堆栈等相关信息

技术选型

  1. 后端
    • 核心框架:Spring
    • 控制层框架:SpringMVC
    • 权限控制:Shiro
    • 消息中间件:activeMQ
    • 消息推送:Websocket
    • 邮件发送:javax.mail
    • 任务调度:Quartz
    • 持久层框架:Mybatis-Plus
    • 日志管理:SLF4J > logback
    • 缓存控制:Ehcache/Redis可切换
    • 环境控制:使用spring profile可根据-Dspring.profiles.active=dev参数灵活切换配置文件
  2. 前端
    • 模板选型:thymeleaf
    • 管理模板:H+
    • JS框架:jQuery
    • 数据表格:bootstrapTable
    • 文件管理:elfinder
    • 弹出层:layer
    • 通知消息:Toastr
    • 消息推送/轮询:sockJs、stomp
    • 树结构控件:jsTree
    • checkbox选择控件:bootstrapSwitch
  3. 开发平台
    • JDK版本:17+
    • Maven:3.5+
    • 数据库:mysql8+(设置表名称大小写忽略)
    • 缓存:ehcache/redis
    • ide:Eclipse/Idea

本地开发

# 1. 克隆项目
git clone git@github.com:wayn111/crowd-amin.git

# 2. 导入项目依赖
将crowd-admin目录用idea打开,导入maven依赖

# 3. 安装Mysql8.0+、Redis3.0+、Jdk17+、Maven3.5+

# 4. 导入sql文件
在项目根目录下crowd-web文件夹下,找到`crowd-admin.sql`文件,新建mysql数据库crowd-admin,导入其中

# 5. 修改Mysql、Redis连接配置
修改`application-dev.yml`文件中数据连接配置相关信息

# 6. 启动项目
进入crowd-web木块,找到CrowdApplication文件,在idea中右键run application运行

# 7. 访问
打开浏览器输入:http://localhost:8080/crowd/

远程部署

推荐使用 Dockerfile 方式进行远程部署,这里介绍 CentOS 系统下部署方式(默认大家已安装 docker 环境)

# 1. 修改 application-dev.yml 文件数据库、Redis 连接

# 2. 服务器上新建 /opt/wayn/crowd 目录
mkdir -p /opt/wayn/crowd/crowd-web/target
mkdir -p /opt/wayn/crowd/logs

# 3. 在项目根目录执行如下 mvn 命令对 crowd-web 模块进行打包操作
mvn clean package -DskipTests -pl crowd-web -am
打包完成后在 crowd-web/target 目录下会生成 crowd.jar 文件

# 4. 上传 crowd.jar 文件至目录服务器 /opt/wayn/crowd/crowd-web/target 目录下

# 6. 上传项目根目录下 ip2region.xdb 文件至服务器 /opt/wayn/crowd 目录下 

# 7. 上传项目根目录下 Dockerfile 文件至服务器 /opt/wayn/crowd 目录下

# 8. 构建 docker 镜像,启动容器
cd /opt/wayn/crowd
docker build -t crowd .
docker run -p 8080:8080 -v /opt/wayn/crowd:/opt/wayn/crowd --name crowd-web crowd 

# 9. 在服务器终端输入 curl -L http://localhost:8080/crowd,有网页内容返回则代表部署成功

参考资料

获取源码


实例截图

系统登陆 输入图片说明 首页 输入图片说明 输入图片说明 用户管理 输入图片说明 菜单管理 输入图片说明 通知管理 输入图片说明 查看通知 输入图片说明 文件管理 输入图片说明 系统服务 输入图片说明


特别赞助

MIT License Copyright (c) 2019 wayn Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

crowd-admin是一个基于Spring,Shiro,Redis/ehcache,Mybatis的通用后台权限管理系统 展开 收起
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/wayn111/crowdfounding.git
git@gitee.com:wayn111/crowdfounding.git
wayn111
crowdfounding
crowd-admin
main

搜索帮助