StarTraining 开源企业培训系统:5 分钟部署一套带课程、学分和证书的内部学习平台
【免费下载链接】StarTraining职星学院企业培训系统是一套基于点播、直播、考试、培训、面授等功能完善的在线教育系统,开源版是基于商业版精简实现的一个企业员工培训系统,致力于打造一个各行业都适用的在线培训系统、企业培训平台、员工培训系统、企业内部培训系统。项目地址: https://gitcode.com/gh_mirrors/st/StarTraining
StarTraining(职星学院)是一个基于 Spring Boot 2.5.9 + Vue2 + MySQL 的开源企业培训系统,开源版由商业版精简而来:课程与课件管理、学习过程跟踪、学分与证书、讲师与组织架构、学习统计都完整保留,前后端分离,两个前端入口分别是管理端和学员 PC 端。适合运维和系统管理员快速搭起一套企业内部培训平台。
🚀 部署前准备:环境要求
- JDK 1.8(项目按 1.8 编译,兼容更高版本)
- MySQL 8.0、Redis 3.0+
- Maven 3.0+、Node.js 12+
⚡ 5 分钟跑起来:最简部署步骤
1. 克隆代码
git clone https://gitcode.com/gh_mirrors/st/StarTraining2. 初始化数据库
新建一个空库(默认配置使用库名kaiyuan),导入根目录的yc_edu.sql,脚本包含 33 张业务表,覆盖用户、角色部门、课程、课件、学分、证书等。
3. 改两处配置
- 数据源:
edu-admin/src/main/resources/application-druid.yml,默认指向jdbc:mysql://127.0.0.1:3306/kaiyuan,账号root,按实际环境修改; - 上传目录:
edu-admin/src/main/resources/application.yml中的edu.profile,Linux 下建议改为服务器本地路径(如/home/edu/uploadPath)。Redis 默认连接127.0.0.1:6379,也在这份 yml 里。
4. 启动后端
cd edu-admin mvn spring-boot:run服务监听 8900 端口(server.port可改)。
5. 启动两个前端
cd admin_vue && npm install && npm run dev cd home_pc && npm install && npm run serve开发模式下前端的接口代理在各自vue.config.js的devServer.proxy中配置,指向后端 8900 端口即可联调。
🖥️ 部署后长什么样:管理端与学员端
管理端是后台入口,左侧菜单组织为:课程(分类 / 课程 / 课件)、讲师(讲师列表 / 等级)、数据中心(课程学习统计、学分统计)、系统管理(用户、角色、部门、菜单、日志、缓存、定时任务)。课程编辑采用分步式表单:基本信息、课件设置(视频课 / 文档课两种形态)、组织范围设置。
学员端是 PC 网页,路由上主要分四块:home(首页与课程列表)、knowledge(学习中心:课程列表、课程详情、课程学习页)、lecturer(讲师主页与讲师列表)、mine(个人中心:学习记录、证书列表、我的学分)。两端登录页风格不同——管理端是深蓝色调,学员端是紫色渐变几何背景,部署后打开就能区分。
📚 课程怎么建:分类、课件、权限三步走
管理端建课的完整链路是:分类 → 知识(课程)→ 课件 → 发布。
- 建分类:
admin_vue/src/views/course/category/提供课程分类树维护,分类决定了学员端课程目录的层级。 - 建课程并挂课件:课程页
admin_vue/src/views/course/course/中,视频课通过videoLessonSetting.vue配置,文档课通过documentLessonSetting.vue配置,课件以"课时(lesson)"为粒度管理。后端对应edu-admin中的KnowledgeController、CoursewareController、MaterialLibraryController;视频类课件走edu-learn模块的MtsUtil/OssUtil(转码与对象存储),文档类走本地/OSS 上传,上传大小限制在application.yml里(单文件 10MB / 请求 20MB,可按需放大)。 - 控制可见范围:
edu-learn的ControlLimit/KnowledgeControlLimit控制课程对部门、用户或全员的开放范围,前端由formOrgSetting.vue选择组织。
📈 培训效果怎么看:数据统计与学分体系
edu-admin的DataCenterController对接edu-learn/statistics包下的报表逻辑(CourseStatisticsMapper、DataCenterStatisticsService),管理端数据中心可以按部门 / 用户维度查看课程学习进度、课时完成情况与学分排行。学员端个人中心通过creditList.vue展示学分流水,记录由CreditLog表落库——学员学完课程后学分自动累计,管理员据此判断培训完成率。
📜 证书与完成认定怎么发
学员学完课程后,系统在个人中心生成电子证书(mine/components/certificateList.vue),证书样式可配置,落款处内置了一枚"证书专用章"图案作为完成认定标识,学员可在线查看自己的证书列表。
👥 讲师与组织架构管理
讲师管理在admin_vue/src/views/teachers/:addLector.vue维护讲师档案,addGrade.vue维护讲师等级。组织架构复用 RuoYi 底层的部门-用户树(SysDeptController/SysUserController),前端建课、指派学习时用OrgPicker组件直接挑选部门与人员,人员数据与部门树联动,减少手工录入。
🧩 开源版能力边界:考试功能说明
需要明确一点:开源版未包含在线考试模块——数据库中没有题库、试卷相关表,代码里也没有考试后端。学员端首页保留了"考试"入口图标,但对应功能属于商业版范围。如果企业有组卷、在线考试、自动判分需求,可以基于edu-learn的课程与学分模块自行扩展,或直接评估商业版。
🗂️ 目录与关键配置速查
| 位置 | 说明 |
|---|---|
admin_vue/ | 管理端前端(Vue2 + ElementUI),页面在src/views/,接口封装在src/api/ |
home_pc/ | 学员 PC 端前端,页面在src/pages/(home / knowledge / mine) |
edu-admin/ | Web 入口与全部 Controller(knowledge、statistics、system、monitor) |
edu-framework/ | 若依框架层:安全、权限、日志、定时任务 |
edu-system/ | 用户、角色、部门、菜单等系统管理 |
edu-learn/ | 核心业务:课程、课件、学分、统计、上传工具类 |
edu-common/ | 通用工具与领域对象 |
yc_edu.sql | 数据库初始化脚本(33 张表) |
edu-admin/src/main/resources/application.yml | 端口、Redis、上传路径、验证码类型 |
edu-admin/src/main/resources/application-druid.yml | 数据源连接、Druid 监控(/druid/*) |
另外两处值得留意的扩展点:admin_vue/src/assets/js/platform-jsapi/内置了钉钉与微信的 JS-SDK 封装,管理端页面可以在企业 IM 内嵌打开;后端基于若依框架,JWT 鉴权、操作日志、在线用户、缓存监控开箱即用,运维巡检不需要额外搭工具。
✅ 适用场景与项目入口
适合中大型企业把新员工培训、岗位技能学习、合规学习搬到线上,需要课程管理、学习跟踪、学分与证书、按部门统计,而暂时不需要在线考试的场景。项目源码在仓库 StarTraining(克隆地址:https://gitcode.com/gh_mirrors/st/StarTraining),导入yc_edu.sql、改好数据源即可开始使用。
【免费下载链接】StarTraining职星学院企业培训系统是一套基于点播、直播、考试、培训、面授等功能完善的在线教育系统,开源版是基于商业版精简实现的一个企业员工培训系统,致力于打造一个各行业都适用的在线培训系统、企业培训平台、员工培训系统、企业内部培训系统。项目地址: https://gitcode.com/gh_mirrors/st/StarTraining
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考