本文是从项目设计到完成开始写的,本来这个项目基础功能是做完了的,但是之前时间紧张想从头做起了。之前一周写前端+后端累死了.
设计是关键,这一篇主讲设计。可能后面会有修改,本人实力有限,学习的也是别人的项目,如有来开源、vue-element-admin等,在他们的基础上进行的个性化的构建,如有更好的方案和技术欢迎交流。
文章目录
- 目的与背景
- 功能介绍
- 技术选择
- 数据库设计
- 学生表
- 系统用户表
- 人员表
- 用户角色关联表
- 宿舍详情表
- 宿舍楼表
- 字典数据库
- 字典类型数据库
- 维修记录表
- 路由菜单管理
- 系统角色管理
- 角色路由关联表
- 电费日志
- 进出表
- 通知发送表
- 通知接收表
- 建议对话链接表
- 建议内容表
- 学生管理日志
- 违规类型表
- 动态定时任务表
- 聊天数据库表
- 分享表
- 功能拆分
- 用户管理
- 用户注册
- 用户登录
- 密码重置
- 学生管理
- 添加学生
- 删除学生
- 修改学生信息
- 申请退宿
- 宿舍管理
- 宿舍人员管理
- 宿舍分配
- 宿舍地图
- 宿舍电量管理
- 电量查询
- 送电
- 电量充值
- 停电
- 水电缺通知
- 维修管理模块
- 报修
- 维修查询
- 派遣维修人员
- 维修状态修改
- 维修缴费
- 维修日志
- 通知系统
- 发送通知
- 聊天系统
- 群聊
- 分享
- 建议系统
- 发出建议
- 建议状态修改
- 展示接收待办建议
- 门禁系统
- 进出记录
- 进出管控
- 违规管理
- 违规记录
- 违规申诉
- 违规查询
- 任务系统
- 任务分配
- 下文
目的与背景
本宿舍管理系统旨在提供一个高效、便捷、安全的宿舍管理平台,帮助学校或宿舍管理部门更好地管理学生宿舍,提升宿舍管理的质量和效率。该系统将涵盖学生管理、宿管管理、维修管理、门禁管理、消息管理、建议箱、宿舍地图等功能模块,以满足宿舍管理的各项需求,便捷高效的进行学生宿舍的管理和使用。通过本系统的建立与运行,可以实现对学生宿舍的全面管理和监控,提高宿舍管理的效率和质量,为学生提供一个更加安全、便捷和舒适的居住环境。
背景: 在大学或其他教育机构中,宿舍是学生们的重要居住场所,宿舍管理的好坏直接关系到学生的生活质量和学习环境。传统的宿舍管理方式往往面临诸多问题,如信息不畅通、维修难以及宿舍安全等方面存在隐患。因此,开发一套宿舍管理系统,将有助于提高宿舍管理的效率和质量,为学生提供更好的居住环境。
功能介绍
-
学生管理:该功能模块用于学生信息的录入、查询和管理,包括学生入住登记、退宿办理、学生信息变更等。通过该功能,可以实现对学生的个人信息进行统一管理,方便宿舍管理部门随时了解学生的宿舍情况。
-
宿管管理:宿管管理功能模块用于宿管人员的管理和任务分配。宿管人员可以通过系统对宿舍进行巡查、卫生检查等,并及时记录和处理违规行为。同时,宿管人员也可以通过系统与学生进行沟通和交流。
-
维修管理:该功能模块用于宿舍内设施的维修和报修管理。学生可以通过系统提交维修请求,宿舍管理部门可以及时处理并派遣维修人员进行维修。同时,系统还可以记录维修历史,方便后续的维修管理和维修质量的评估。
-
门禁管理:门禁管理功能模块用于宿舍出入口的门禁管理。通过系统可以实现学生的刷码/人脸识别进出宿舍,有效控制宿舍的出入人员,提高宿舍的安全性。
-
宿舍选择功能 ,该模块通过学生习惯的填写,来进行宿舍的分配。尝试由管理自主选择,宿舍分配规则,是由习惯,还是依靠传统的班级学号进行分配,就看学校的规定了。
-
消息管理:该功能模块用于宿舍管理部门向学生发送通知、公告等信息。学生可以通过系统及时接收到相关信息,方便宿舍管理部门与学生之间的沟通和信息传递。(本来想看看能不能接入微信公众号玩一玩的,但是需要的是服务号且必须获得企业认证)
-
宿舍楼聊天系统:改模块可用于同一栋师生之间进行聊天沟通,
-
建议箱:建议箱功能模块用于学生提出宿舍管理方面的建议和意见。学生可以通过系统将自己的建议或问题反馈给宿舍管理部门,以便宿舍管理部门及时了解学生的需求和问题,并进行相应的改进。
-
宿舍地图:该功能模块用于提供宿舍楼层、房间分布等信息,方便学生和宿舍管理部门查找宿舍位置和了解宿舍的布局情况。
-
宿舍水电费管理:该模块用于对宿舍的水电费进行管理、同步和缴纳功能。方便学生的在线缴费。
技术选择
- JDK17
后端采用java的jdk17进行 - maven3.9
采用maven3进行包管理 - Springboot3
后端框架使用springboot3全家桶进行操作 - spring security
spring的安全框架 - spring mvc
mvc控制 - mybatis-plus
持久化框架使用mp来进行数据库操作 - Mysql数据库
数据库选择小而免费的mysql数据库 - xxl-job/手动实现
定时任务管理 - npm
前端包管理工具 - vue3框架
前端框架采用vue3进行,由于vue3还未学,时间不够则会采用vue2进行。 - Element-ui库
前端使用element-ui进行美化组件的选择。 - 百度开放平台api
或采用,用于地图,定位和人脸识别,后期人脸识别会尝试手动实现 - websocket
用于消息聊天同步,以及通知功能的实现 - redis
或采用redis加速查询速度 - 其他工具类
包括但不限于像hutool工具类、fastjson2,JWT令牌、Quartz等
格外的编程工具选用
后端采用:idea
数据库设计
表通过idea的图工具导出
学生表
系统用户表
人员表
用户角色关联表
宿舍详情表
宿舍楼表
字典数据库
字典类型数据库
维修记录表
路由菜单管理
系统角色管理
角色路由关联表
电费日志
进出表
通知发送表
通知接收表
建议对话链接表
建议内容表
学生管理日志
违规类型表
动态定时任务表
字段还不明确
聊天数据库表
字段还不明确
分享表
类似朋友圈,可分享自己的记录
不明确
功能拆分
用户管理
用户注册
分为2个模块,学生用户和其他用户
学生用户通过输入学生的学号,姓名,手机号进行身份验证,然后需要进行邮箱绑定和密码的设置.
最后需要设置用户的基本信息,如用户名,用户头像等。完成注册。
其他用户需要通过管理员统一进行用户注册。
注意,密码在数据库需要加密处理。
用户登录
通过输入验证码输入验证后,输入账号密码来进行登录校验。
获取jwt令牌和用户信息
邮箱登录
格外的或实现人脸登录。
密码重置
通过邮箱验证进行重置密码
学生管理
添加学生
可单个添加选择,输入学生的名字,姓名,年龄,手机号等基本信息进行添加。
批量添加,导入excel进行学生的批量添加,可按照班级进行批量添加(需要设置班级)
删除学生
可对学生进行逻辑删除。
也可批量对班级/年级学生进行删除
没用年级表,班级管理是另外的价钱,班级字段采用年份4+专业字典2+班级编号的方式2
修改学生信息
学生本人通过系统账号进行申请或管理员进行修改。
申请退宿
学生可通过系统提交退宿申请,通过后将删除学生的宿舍信息。
宿舍管理
宿舍人员管理
可对宿舍的人员进行查询,修改
宿舍分配
学生通过问卷的形式,通过对习惯的分析进行宿舍的分配。
也可以按照学校要求通过班级学号的形式直接进行分配。
宿舍地图
可进行宿舍地图查看,方便新生找到宿舍。
宿舍电量管理
电量查询
可对宿舍电量进行查询
管理员可查看所有宿舍的电量
送电
可对停用但无法充值的寝室进行送电
电量充值
可进行电费的充值,由于无充值只进行模拟
停电
由于无实际常见,只进行模拟。
水电缺通知
当水电费低于5快的时候提醒学生尽快重置。
维修管理模块
报修
通过小程序/网站上进行报修
维修查询
管理员和维修人员可进行维修查询
派遣维修人员
系统派发维修任务
维修状态修改
管理员和维修人员可对维修状态进行修改。
维修缴费
部分维修需要付费。模拟进行
维修日志
每一次就进行记录方便查询。(反馈)
通知系统
发送通知
管理部门可对特定角色人员下发通知。
宿管可对改管理楼层同学进行通知。
聊天系统
群聊
可进行学生内的闲聊,和分享
分享
可进行自己的分享
建议系统
发出建议
学生可进行建议反馈。
可匿名
建议状态修改
当交流过后,可修改建议的完成度和满意度。
展示接收待办建议
可公开接收并打算实现/实现了的建议
门禁系统
进出记录
对进出宿舍的学生进行记录
进出管控
通过刷二维码/人脸识别进行进出权限管控
违规管理
违规记录
记录违规状态
违规申诉
如有特殊情况可进行申诉
违规查询
可查询自己的违规记录
管理员可查询所有。
任务系统
任务分配
可对特定角色进行任务分配/通知。
下文
项目建立