Skip to content

Repository files navigation

Java 8Spring Boot 2Vue 3
Github starsGithub forksGitee starsGitee forks

宿舍管理系统

开发环境

  • Windows

配置环境

程序版本说明
Jdk1.8.0 161Java 开发工具包
Mysql5.5.27关系型数据库
Redis7.0.5非关系型数据库
Apache-maven3.9.0Java 项目管理和构建工具
Nvm1.10Node.js 版本管理器
Node8.12.0Node.js JavaScript 运行时环境

开发工具

工具版本说明
IDEA2022.3.2后前端开发IDE
Git2.24.1代码托管平台
Google Chrome75.0.3770.100浏览器、前端调试工具
Navicat11.1.13数据库连接工具
Postman7.1.0接口测试工具
VMware Workstation Pro14.1.3虚拟机(未用到或许你会用到)
PowerDesigner15数据库设计工具(未用到或许你会用到)
SQLyog12.0.3数据库连接工具 (未用到或许你会用到)
Visio2013时序图、流程图等绘制工具(未用到或许你会用到)
ProcessOn——架构图等绘制工具(未用到或许你会用到)
XMind ZEN9.2.0思维导图绘制工具(未用到或许你会用到)
RedisDesktop0.9.3.817redis客户端连接工具(未用到或许你会用到)

编码规范

  • 规范方式:严格遵守阿里编码规约。
  • 命名统一:简介最大程度上达到了见名知意。
  • 分包明确:层级分明可快速定位到代码位置。
  • 注释完整:描述性高大量减少了开发人员的代码阅读工作量。
  • 工具规范:使用统一jar包避免出现内容冲突。
  • 代码整洁:可读性、维护性高。

包的结构

+- dtm -- 整个项目
| +- .idea -- 包含项目的 IntelliJ IDEA 配置文件
| +- dtm-admin -- 项目后端
| | +- .idea -- 包含后端项目的 IntelliJ IDEA 配置文件
| | +- pom.xml -- Maven 项目配置文件
| | +- src
| | | +- main
| | | | +- java
| | | | | +- com
| | | | | | +- rabbiter
| | | | | | | +- dm -- 后端项目的主要包
| | | | | | | | +- annotation -- 自定义注解
| | | | | | | | | +- Log.java -- 日志注解
| | | | | | | | | +- RequirePermission.java -- 权限注解
| | | | | | | | +- aop -- 切面编程相关代码
| | | | | | | | | +- LogAop.java -- 日志切面
| | | | | | | | +- config -- 配置类
| | | | | | | | | +- Constant.java -- 常量定义
| | | | | | | | | +- DataSourceConfiguration.java -- 数据源配置
| | | | | | | | | +- GlobalExceptionHandler.java -- 全局异常处理
| | | | | | | | | +- MyConfig.java -- 自定义配置
| | | | | | | | +- controller -- 控制器层
| | | | | | | | | +- BackLateController.java -- 后勤控制器
| | | | | | | | | +- BuildingController.java -- 宿舍楼控制器
| | | | | | | | | +- DepartApplicationController.java -- 请假申请控制器
| | | | | | | | | +- FacultyController.java -- 学院控制器
| | | | | | | | | +- LeaveController.java -- 请假控制器
| | | | | | | | | +- LoginController.java -- 登录控制器
| | | | | | | | | +- NoticeController.java -- 通知控制器
| | | | | | | | | +- PermissionController.java -- 权限控制器
| | | | | | | | | +- RepairController.java -- 维修控制器
| | | | | | | | | +- RoomController.java -- 宿舍控制器
| | | | | | | | | +- StatisticsController.java -- 统计控制器
| | | | | | | | | +- StudentController.java -- 学生控制器
| | | | | | | | | +- SystemFunctionController.java -- 系统功能控制器
| | | | | | | | | +- SystemLogController.java -- 系统日志控制器
| | | | | | | | | +- SystemRoleController.java -- 系统角色控制器
| | | | | | | | | +- SystemUserController.java -- 系统用户控制器
| | | | | | | | +- dao -- 数据访问层
| | | | | | | | | +- BackLateMapper.java -- 后勤数据访问接口
| | | | | | | | | +- BuildingMapper.java -- 宿舍楼数据访问接口
| | | | | | | | | +- DepartApplicationMapper.java -- 请假申请数据
| | | | | | | | | +- FacultyMapper.java -- 用于与数据库进行 Faculty 实体的交互,包括增删改查等操作
| | | | | | | | | +- ImageMapper.java -- 用于与数据库进行 Image 实体的交互,包括增删改查等操作
| | | | | | | | | +- LeaveMapper.java -- 用于与数据库进行 Leave 实体的交互,包括增删改查等操作
| | | | | | | | | +- NoticeMapper.java -- 用于与数据库进行 Notice 实体的交互,包括增删改查等操作
| | | | | | | | | +- RepairMapper.java -- 用于与数据库进行 Repair 实体的交互,包括增删改查等操作
| | | | | | | | | +- RoomMapper.java -- 用于与数据库进行 Room 实体的交互,包括增删改查等操作
| | | | | | | | | +- StudentMapper.java -- 用于与数据库进行 Student 实体的交互,包括增删改查等操作
| | | | | | | | | +- SystemFunctionMapper.java -- 用于与数据库进行 SystemFunction 实体的交互,包括增删改查等操作
| | | | | | | | | +- SystemLogMapper.java -- 用于与数据库进行 SystemLog 实体的交互,包括增删改查等操作
| | | | | | | | | +- SystemRoleMapper.java -- 用于与数据库进行 SystemRole 实体的交互,包括增删改查等操作
| | | | | | | | | +- SystemUserMapper.java -- 用于与数据库进行 SystemUser 实体的交互,包括增删改查等操作
| | | | | | | | | +- DormitoryManagerApplication.java -- 主启动类,包含应用程序的入口点,负责启动整个应用程序
| | | | | | | | | +- dto -- 存放数据传输对象(Data Transfer Object),用于在不同层之间传输数据
| | | | | | | | | | +- ListQuery.java -- 用于封装列表查询条件的数据传输对象
| | | | | | | | | | +- Message.java -- 用于封装消息的数据传输对象
| | | | | | | | | | +- Password.java -- 用于封装密码的数据传输对象
| | | | | | | | +- entity -- 存放实体类,与数据库表一一对应
| | | | | | | | | +- BackLate.java -- 学生迟到信息的实体类
| | | | | | | | | +- Building.java -- 宿舍楼信息的实体类
| | | | | | | | | +- DepartApplication.java -- 离校申请信息的实体类
| | | | | | | | | +- DepartApplicationUser.java -- 离校申请用户关联信息的实体类
| | | | | | | | | +- Faculty.java -- 学院信息的实体类
| | | | | | | | | +- Image.java -- 图片信息的实体类
| | | | | | | | | +- Leave.java -- 学生请假信息的实体类
| | | | | | | | | +- Notice.java -- 系统通知信息的实体类
| | | | | | | | | +- Repair.java -- 宿舍报修信息的实体类
| | | | | | | | | +- Room.java -- 宿舍房间信息的实体类
| | | | | | | | | +- Student.java -- 学生信息的实体类
| | | | | | | | | +- SystemFunction.java -- 系统功能信息的实体类
| | | | | | | | | +- SystemLog.java -- 系统日志信息的实体类
| | | | | | | | | +- SystemRole.java -- 系统角色信息的实体类
| | | | | | | | | +- SystemUser.java -- 系统用户信息的实体类
| | | | | | | | | +- TestDO.java -- 测试数据对象的实体类
| | | | | | | | +- exception -- 存放自定义异常类
| | | | | | | | | +- HttpException.java -- HTTP 异常类
| | | | | | | | +- interceptor -- 存放拦截器
| | | | | | | | | +- LoginInterceptor.java -- 登录拦截器
| | | | | | | | | +- SecurityInterceptor.java -- 安全拦截器
| | | | | | | | +- scheduled -- 存放定时任务
| | | | | | | | | +- LogClean.java -- 日志清理定时任务
| | | | | | | | +- BackLateService.java -- 学生迟到信息的服务接口
| | | | | | | | +- BuildingService.java -- 宿舍楼信息的服务接口
| | | | | | | | +- DepartApplicationService.java -- 离校申请信息的服务接口
| | | | | | | | +- FacultyService.java -- 学院信息的服务接口
| | | | | | | | +- ImageService.java -- 图片信息的服务接口
| | | | | | | | +- LeaveService.java -- 学生请假信息的服务接口
| | | | | | | | +- NoticeService.java -- 系统通知信息的服务接口
| | | | | | | | +- RepairService.java -- 宿舍报修信息的服务接口
| | | | | | | | +- RoomService.java -- 宿舍房间信息的服务接口
| | | | | | | | +- StatisticsService.java -- 统计信息的服务接口
| | | | | | | | +- StudentService.java -- 学生信息的服务接口
| | | | | | | | +- SystemFunctionService.java -- 系统功能信息的服务接口
| | | | | | | | +- SystemLogService.java -- 系统日志信息的服务接口
| | | | | | | | +- SystemRoleService.java -- 系统角色信息的服务接口
| | | | | | | | +- SystemUserService.java -- 系统用户信息的服务接口
| | | | | | | +- socket -- 存放与 WebSocket 相关的类
| | | | | | | | +- WebSocket.java -- WebSocket 实现类
| | | | | | | +- utils -- 存放工具类
| | | | | | | | +- FileUtil.java -- 文件工具类
| | | | | | | | +- HttpCode.java -- HTTP 状态码常量类
| | | | | | | | +- JWTUtil.java -- JWT 工具类
| | | | | | | | +- Match.java -- 匹配工具类
| | | | | | | | +- MD5Util.java -- MD5 加密工具类
| | | | | | | | +- RedisUtil.java -- Redis 工具类
| | | | | | | +- vo -- 存放值对象(Value Object)
| | | | | | | | +- Result.java -- 封装操作结果的值对象
| | | | +- resources -- 存放配置文件等资源
| | +- target -- 存放编译生成的类文件
| +- dtm-vue -- 项目前端
| | +- .browserslistrc -- 浏览器兼容性配置文件
| | +- .env.development -- 开发环境的环境变量配置
| | +- .env.production -- 生产环境的环境变量配置
| | +- .env.staging -- 演示环境的环境变量配置
| | +- .eslintrc.js -- ESLint 配置文件,用于规范 JavaScript 代码风格
| | +- .npmrc -- npm 配置文件
| | +- babel.config.js -- Babel 配置文件,用于编译 JavaScript 新特性
| | +- node_modules -- 存放前端项目依赖的 Node.js 模块
| | +- package-lock.json -- 记录当前状态下实际安装的各个npm package的具体来源和版本号,以便重复安装时依赖包的版本一致
| | +- package.json -- 包含了项目的元信息和依赖关系
| | +- public -- 存放静态资源
| | | +- 02.jpg -- 图片资源
| | | +- favicon.ico -- 网站图标
| | | +- index.html -- 主页 HTML 文件
| | +- README.md -- 项目前端的说明文档
| | +- src -- 存放前端源代码
| | | +- api -- 存放前端与后端交互的 API 接口
| | | +- App.vue -- Vue.js 应用的根组件
| | | +- assets -- 存放静态资源,如样式和图片
| | | +- components -- 存放 Vue 组件
| | | +- ComponentsMap.js -- 组件映射文件
| | | +- directives -- 存放自定义指令
| | | +- main.js -- 主入口文件,初始化Vue应用
| | | +- permission.js -- 权限控制配置文件
| | | +- router -- 存放路由配置
| | | +- store -- 存放 Vuex 状态管理相关文件
| | | +- utils -- 存放工具函数
| | | +- views -- 存放页面组件
| | +- vue.config.js -- Vue CLI 配置文件
| +- Images -- 存放项目中使用的图片资源
| +- README.md -- 整个项目的说明文档
| +- sql
| | +- dormitory_manager.sql -- 数据库脚本文件,用于初始化数据库结构

后端技术栈

技术版本说明
Spring Boot Starter Parent2.7.5Spring Boot 的启动器父项目
Druid Spring Boot Starter1.2.4阿里巴巴数据库连接池
Log4j1.2.17日志记录工具
PageHelper Spring Boot Starter1.4.1MyBatis 分页插件
Spring Boot Starter Web-Spring Boot Web 启动器
Spring Boot Starter Web Services-Spring Boot Web Services 启动器
MyBatis Spring Boot Starter2.1.4MyBatis Spring Boot 启动器
Spring Boot DevTools-Spring Boot 开发工具
MySQL Connector/J8.0.31MySQL 数据库连接器
Spring Boot Starter Test-Spring Boot 测试启动器
Java JWT3.10.1Java JSON Web Token 库
Spring Boot Starter Data Redis-Spring Boot Redis 启动器
Spring Boot Starter AOP-Spring Boot 切面编程启动器
Spring Boot Starter WebSocket-Spring Boot WebSocket 启动器
Validation API-Java 验证 API
Hibernate Validator-Hibernate 验证框架

前端技术栈

技术版本说明
@riophae/vue-treeselect^0.4.0Vue 树形选择组件
axios^0.21.0基于 Promise 的浏览器和 Node.js HTTP 客户端
core-js^3.6.5ECMAScript 标准库
element-ui^2.14.1Vue.js 2.0 的 UI 工具包
js-cookie^2.2.1处理 Cookie 的 JavaScript API
path-to-regexp^6.2.0Express 风格的路径到正则表达式的实用工具
sass-loader^10.1.0用于 webpack 的 Sass 加载器
scss^0.2.4JavaScript 的 Syntactically Awesome Stylesheets (Sass)
splitpanes^2.3.6Vue.js 2 的 splitpanes 组件
vue^2.6.11Vue.js - JavaScript 框架
vue-echarts^6.0.0-rc.3Vue 的 ECharts 封装组件
vue-json-viewer^2.2.17Vue 的 JSON 查看器组件
vue-router^3.2.0Vue.js 的官方路由器
vue-vibe^8.0.3Vue.js 2.0 的 UI 工具包
vuex^3.6.0Vue.js 的状态管理
@vue/cli-plugin-babel~4.5.0Vue CLI 的 Babel 插件
@vue/cli-plugin-eslint~4.5.0Vue CLI 的 ESLint 插件
@vue/cli-plugin-router~4.5.0为 Vue CLI 添加路由的插件
@vue/cli-service~4.5.0Vue CLI 的本地服务
babel-eslint^10.1.0具有 ESLint 语法支持的 Babel 解析器
babel-plugin-component^1.1.1用于导入 Vue 组件的 Babel 插件
eslint^6.7.2用于识别和修复代码的可插拔工具
eslint-plugin-vue^6.2.2Vue.js 的官方 ESLint 插件
lint-staged^9.5.0在提交之前运行 linters 的工具
vue-template-compiler^2.6.11Vue.js 的模板编译器

安装教程

  1. 在navicat中运行数据库脚本生成对应的数据库表
  2. 在src/main/resources/application.yml文件里更改数据库(Redis/Mysql)名称或数据库密码
  3. 在pom.xml文件的父目录运行 mvn clean spring-boot:run 启动后端
  4. 启动前端 你可以在package.json的父目录执行下如命令 或者 直接在IDEA里点击也可运行 值得一提的是后两命令分别是打包命令和检查修复命令
npm install
npm run serve
npm run build
npm run lint
  • 如下图所示

登录账户

用户名:superadmin 密码:123456

截图

About

Springboot + Redis + Mysql + Vue

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages