1、立项原因
本项目(LMS - Learning Management System)旨在解决传统线下培训和考核效率低、成本高、数据难以统计的问题。
主要解决的痛点包括:
培训受限:打破传统培训受时间、地点限制的弊端,实现随时随地在线学习。
考核繁琐:解决纸质试卷组织困难、阅卷人工成本高、成绩统计易出错的问题。
管理混乱:解决学员档案、学习进度、证书发放等人工作业难以追溯和管理的问题。
2、行业场景,业务背景
该系统适用于企业内部员工培训、职业技能考核、或教育机构的在线教学场景。
实现了从“用户管理 -> 课程学习 -> 在线考试 -> 成绩分析 -> 证书发放”的全链路数字化闭环。
系统角色分工明确:管理员负责维护题库、上传课程、管理用户权限及监控系统运行;学员进行视频课程学习(记录进度)、参加在线考试(自动判分)、查询成绩及下载电子证书。
1、功能模块
系统基于 RBAC(基于角色的访问控制)模型,分为管理员和学员两端。
核心业务模块包括:
课程中心:视频课程的点播、进度追踪、课程分类展示。
考试管理:题库管理(单选/判断)、试卷组卷(随机/固定)、在线答题、自动阅卷。
证书体系:证书模板设计、根据考试结果自动生成并颁发电子证书。
档案/成绩:学员学习记录、考试成绩统计、个人成长档案。
系统基础模块包括:
工作台 (Dashboard):数据概览,展示关键指标。
用户与权限:用户管理、角色管理、动态菜单权限控制。
文件中心:统一的文件上传、下载与资料共享。
2、主要功能描述
动态权限控制:系统根据用户角色(ADMIN/USER)在登录时动态下发路由表和菜单,确保不同角色只能访问授权的功能区域(如学员无法访问系统配置,只能看到学习中心)。
沉浸式学习体验:支持视频断点续播,实时记录学习时长,确保培训效果可量化。
智能化考核:支持配置考试时长、及格分数、组卷规则;考生提交试卷后系统即时判定客观题分数,并关联证书发放逻辑。
移动端适配(规划中):设计了响应式布局方案,支持 PC 端与移动端(H5)无缝切换,保证在手机端也能流畅进行考试和学习。
1、负责任务
在项目中,我主要负责核心功能的研发、系统稳定性优化及关键 Bug 的攻坚:
核心架构与开发:负责前后端分离架构的搭建与实现,设计数据库模型(用户、课程、考试、证书等核心表),并开发对应的 RESTful API 和前端交互逻辑。
权限体系攻坚:解决了复杂的动态路由与菜单渲染问题(如管理员菜单缺失的排查与修复),实现了基于 JWT 的安全认证机制,包括 Token 的自动续期与异常处理。
状态管理优化:优化前端 Store (Pinia) 的持久化存储策略,解决了用户刷新页面导致状态丢失(如权限、用户信息)的问题,提升了用户体验。
系统稳定性维护:修复了 Token 存储机制错误、组件加载容错不足等 P0/P1 级关键问题,并输出了详细的故障排查文档与修复报告。
移动端适配方案设计:制定了基于 Vue 3 响应式改造的移动端适配计划,评估了技术选型与工作量。
2、项目技术栈、架构,实现上亮点、难点
技术栈:
前端:Vue 3.5 (Composition API) + TypeScript + Vite + Element Plus + Pinia + Vue Router。
后端:Spring Boot 3.4 + MyBatis-Plus + MySQL 8.0 + Redis + Spring Security (JWT)。
运维/工具:Docker, Git, Maven, Flyway。
架构亮点:
前后端分离与模块化:前端采用组件化开发,后端采用分层架构(Controller/Service/Mapper),结构清晰,易于维护和扩展。
安全高效的认证体系:结合 Spring Security 和 JWT 实现无状态认证,前端配合 Axios 拦截器实现 Token 自动注入与过期处理。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论