vue+springboot+mybatis-plus实现新生报到管理系统

项目前端:https://gitee.com/anxin-personal-project/register-management-front

项目后端:https://gitee.com/anxin-personal-project/register-management-behind

1.项目简介

        新生报到管理系统整体技术架构包括前端、后端、数据库以及测试。

        前端采用主流框架Vue,集成Element-ui、Axios以及Echarts,其中Element-ui作为组件库,Axios进行异步通信,Echarts用来绘制图表。

        后端采用微服务框架SpringBoot,主要集成Tomcat、Apache Shiro、JWT、MyBatis Plus、Spring AOP、Slf4j和Easy Poi等。其中,Tomcat作为项目部署的中间件,Apache Shiro来实现权限控制,Json Web Token(JWT)作为token来进行认证,使用Spring中的AOP来实现对操作日志的记录,采用日志框架Slf4j方便排查上线后系统出错原因,Easy poi对excel操作。

        数据库采用RDB中的MySQL和NoSQL中的Redis,MySQL用来存储各个模块实体类的数据,Redis主要是用来缓存用户的token信息,将token和用户信息以key-value形式存入Redis中,防止进行认证时频繁对token进行解密操作,也可以有效解决JWT续签问题,并且Redis可以对当天系统访问量进行一个缓存操作,防止MySQL频繁的进行更新操作。

        采用Java Selenium框架对系统进行自动化测试,能够有效减少系统Bug的出现率,并且能够使得系统能够正常安全运行。

vue+springboot+mybatis-plus实现新生报到管理系统_第1张图片

2.需求分析

        根据实际中新生报到工作流程,新生报到管理的设计与开发要达到以下几方面的目标:

        (1)简化报到流程。为新生以及参与新生报到的工作人员提供一个更简便的报到方式。

        (2)提供多角色多权限管理。在新生报到流程中,不仅有学生和老师参与,还有财务人员、学工办人员、宿舍管理员等参与,因此,需要提供多角色多权限管理来对参与新生报到流程的人员进行角色分配。

        (3)实现新生数据可视化,确保统计新生数据准确。

        (4)提供互动交流平台。由于家长和新生,不熟悉新生报到流程,即使提供了新生报到流程指南,家长和新生也存在一些疑点,因此,设计互动交流平台目的是为家长和新生解答一些疑问,也能够让新生之间相互了解。

        (5)提高新生信息的准确性。由于简化了新生报到流程,新生只需要在系统上填写信息、入住即可。到校时,只需提供录取通知书、身份证等相关报到资料。

        (6)提供校园导航。由于家长和新生,不熟悉校园的整体构造,新生报到管理系统应提供校园导航功能,让家长和新生提前熟悉校园。

vue+springboot+mybatis-plus实现新生报到管理系统_第2张图片

3.数据库设计(仅展示部分)

        功能模块表包括用户基本信息表(user),角色表(role),权限组表(permission_group),权限表(permission),班级表(classroom),专业表(profession),学院表(academy),宿舍表(dormitory),房间表(room),照片表(photo_resource),贴吧表(post_bar),回帖表(reply_post_bar),评论表(comment_post_bar),场景表(scene),场景距离表(scene_dist),财务表finance和操作日志表(log_info)。

用户基本信息表(user)

字段名

数据类型

长度

其他

描述

id

int

11

自增

用户唯一标识

user_name

varchar

20

非空

账号,即学号

pass_word

varchar

20

非空

密码(加密后)

nick_name

varchar

10

非空

真实名称

id_card

char

18

非空

身份证

photo_id

char

32

uuid,关联照片表

sex

char

1

性别,男或女

date_of_birth

date

出生日期

telephone

char

11

手机号

class_room_id

int

11

班级id,关联班级表

room_id

int

11

房间id,关联房间表

academic_year

int

11

学制(年)

cultural_level_id

int

11

学历,关联学历表

admission_year

int

11

非空

入学时间

email

varchar

20

邮箱

nationality_id

int

11

民资,关联民族表

political_status_id

int

11

政治面貌,关联政治面貌表

area

varchar

22

生源地

home_address

varchar

50

家庭地址

is_pay

tinyint

1

默认0

是否付费

is_disabled

tinyint

1

默认0

是否禁用(是,则不能登录)

is_disabled_mode

tinyint

1

默认1

是否开启默认禁用模式

create_time

datetime

非空

创建时间

update_time

datetime

非空

修改时间

操作日志表(log_info)

字段名

数据类型

长度

其他

描述

id

int

11

自增

id,唯一标识

handle_user_id

int

11

非空

操作用户

handle_name

varchar

20

非空

操作名称

request_url

varchar

200

非空

请求url

os_type

varchar

20

非空

操作系统类型

client_type

varchar

20

非空

客户端类型

create_time

datetime

非空

操作时间

4.功能界面(仅展示部分)

4.1登录

vue+springboot+mybatis-plus实现新生报到管理系统_第3张图片

4.2主界面

vue+springboot+mybatis-plus实现新生报到管理系统_第4张图片

4.3用户列表

vue+springboot+mybatis-plus实现新生报到管理系统_第5张图片

 项目前端:https://gitee.com/anxin-personal-project/register-management-front

项目后端:https://gitee.com/anxin-personal-project/register-management-behind

你可能感兴趣的:(大学大作业系列,vue.js,spring,boot,mybatis)