Giter Club home page Giter Club logo

crowd-admin's Introduction

crowd-admin

当前main分支是springboot2.7、jdk17版本,老版本在spring4分支上

Language

项目介绍

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

主要特性

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

内置模块

  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 [email protected]: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/

参考教程

获取源码

在线演示

crowd-admin

参考项目

实例截图

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

特别赞助

crowd-admin's People

Contributors

wayn111 avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.