培训管理系统

一、简介

项目简介:

基于微服务架构的培训管理系统,湖南科技大学毕业生自选的毕业设计

大体总结:

前端使用Vue.js框架,UI组件库使用Element UI与Ant Design Vue,后端基于Spring Boot,使用Mybatis Plus操作MySQL数据库,使用Dubbo与OpenFeign进行跨服务调用,使用Nacos作为注册中心和配置中心,设计并实现了学员报名、学员签到、学员分组、座位分配、云直播、在线考试、结业证下载等功能模块,另外,系统模块对系统操作日志、基础参数等进行管理,网关模块对非法请求进行过滤

二、运行指南

电脑建议16G,有Java微服务、Vue学习基础,联系QQ:284908631

后端运行

地址:https://gitee.com/mingyuefusu/party-school-training-system

依赖JAVA8、MySQL、Maven、Redis、Nacos2.0.3

  • 后端idea导入,maven自动下载依赖

  • 修改项目配置,psedu-auth、psedu-gateway以及psedu-moudles和psedu-visual中的所有服务的中的bootstrap.yaml,修改server-addr与server-addr为具体的Nacos地址,将完全通过Nacos获取服务配置

  • 导入数据,MySQL运行sql目录下的所有文件

  • 运行nacos,具体查阅 https://nacos.io/zh-cn/docs/quick-start.html

    • 下载2.0.3版本
    • 正确修改conf/application.properties的数据库信息,连接到psedu_nacos数据库
    • startup.cmd -m standalone 即可运行
    • 运行成功后,访问127.0.0.1:8848/nacos,账号密码nacos,能正确看到配置列表的配置文件成功
  • 修改Nacos中所有dev结尾的配置文件

    • redis
    • MySQL
  • idea启动服务

    • psedu-gateway(必须)
    • psedu-auth(必须)
    • psedu-moudles中的
      • psedu-system(必须)
      • psedu-base(主要功能)
      • psedu-exam(主要功能)
      • 其他非必须,具体可以学习ruoyi
  • 查看控制台是否报错,运行前端联调

管理端前端运行

地址https://gitee.com/mingyuefusu/party-school-training-system

前端目录位于psedu-ui,依赖node.js

  • 使用npm install --registry=https://registry.npm.taobao.org下载依赖
  • npm run dev 即可启动,将代理访问后端8080网关的端口,通过/dev-api进行路径匹配
  • 访问 127.0.0.1:8000 ,或者查看控制台具体地址,浏览器F12查看网络情况,查看后端各个服务的控制台日志

用户端前端运行

项目位于https://gitee.com/mingyuefusu/party-school-training-system-front

  • npm install --registry=https://registry.npm.taobao.org
  • npm run serve
  • 访问127.0.0.1:8001,或者查看控制台具体地址

三、总体设计

逻辑视图:

功能结构图:

四、设计与实现

4.1 数据库设计

培训基础类数据库表集

编号数据表解释
1psedu_semester学期
2psedu_course课程
3psedu_apply培训报名
4psedu_semester_dept学期分党校
5psedu_group小组
6psedu_sign_record签到记录
7psedu_sign_launch发起签到

培训考试类数据库表集

编号数据表解释
1ex_exam考试发起
2ex_exam_dept_status分党校考试信息
3ex_paper试卷
4ex_question候选题目
5ex_paper_question试卷题目
6ex_answer_option题目选项
7ex_answer_sheet答卷

系统类数据库表集

编号数据表解释
1sys_config系统设置表
2sys_dept部门表/分党校表
3sys_dict_data字典数据表
4sys_dict_type字典类型表
5sys_logininfor系统访问记录
6sys_menu菜单权限表
7sys_notice通知公告表
8sys_oper_log操作日志记录
9sys_role_dept角色和部门关联表
10sys_role_menu角色和菜单关联表
11sys_user用户表
12sys_user_role用户角色表

培训管理基础模块E-R图

培训考试模块E-R图

4.2 用户端系统演示

功能兼容手机、PC端

首页

手机端首页

报名信息

考试列表

练习

自我测试、考试

4.3 管理后台系统演示

后台登录

培训数据

账号管理

学员报名

报名数据

拖拽分班

自动分配座位

导出结业证书

试题管理

考试管理

五、关键问题参考

重点与难点

重点功能为用户数据权限的控制、党课的考勤、用户座位的智能分配、考试系统的实现、结业证书的导出。

难点为确保服务安全、完成微服务间的调用、数据一致性的权衡、有服务容错机制、完成服务监控、实现CI/CD、完成用户数据权限的控制、能承受住考试时的并发流量、完成系统的需求分析、数据库设计与前端的实现。

首先进行需求分析,明确系统所有功能点,分模块划分,进行原型图设计,进行数据库设计,熟悉SpringCloud、阿里巴巴的微服务技术方案,如Open Feign、Nacos、Seata等,对系统进行分服务编码实现,搭建Jenkins实现CICD。

关键问题

1、服务安全,避免系统漏洞造成信息泄露。

2、微服务间调用,各个服务都是一个进程,无法直接本地调用方法。

3、数据一致性的权衡,多服务下,每个服务使用不同的数据库,用户一个操作可能需要操作多个数据库,需要考虑数据一致性。

4、服务容错,远程调用其他微服务可能会出现网络波动等异常,需要有机制避免远程调用雪崩。

5、服务监控,微服务下需要有统一的监控系统,监控各个系统的状况,提供预警,帮助问题排查。

6、CI/CD自动部署的实现,多服务下手动部署应用十分困难,需要有完善的测试部署体系。

7、用户数据权限的控制,分党校管理员只能操作本分党校的数据,党校管理员可以操作所有。

8、考试时的并发流量,考试时段,几千学员操作对系统的压力会很大,需要保证可用性、并发性、高性能。

9、系统的需求分析、数据库设计,系统涉及的功能较多,完成设计较为复杂。

10、前端的实现,前端界面较多,接口较多,交互复杂。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值