智慧MOOC教育平台是一个在线的非学历职业技能培训平台,核心业务是以售卖各种技能培训的在线课程,并提供丰富的学习辅助功能、交互功能,以提升用户学习时的氛围感和学习的积极性。
技术栈:SpringBoot、SpringCloud、Mybatis、MySQL、Redis、Redisson、Caffeine、RabbitMQ、XXL-JOB、腾讯云VOD(视频点播)、Nginx等
拓展技术栈: Dubbo、Minio、Langchain4j、Qdrant、RocketMQ、SkyWalking、Sentinel、Seata等(后续看情况筛选)
项目展示视频:
模块名称 | 模块定位 | 模块介绍 |
---|---|---|
tj-api | 接口服务中心 | 提供统一的API服务,方便内部系统跨服务调用功能 |
tj-auth | 鉴权中心 | 负责平台的认证和授权相关功能,处理用户登录、权限验证等操作 |
tj-chat | AI智能服务 | 实现平台内AI智能对话、知识库管理、AI工具服务调用等操作 |
tj-common | 通用资源模块 | 存放项目通用的代码、工具类、常量等,供其他模块复用 |
tj-course | 课程管理中心 | 管理课程相关业务,如课程的创建、编辑、展示、查询等 |
tj-data | 数据中心 | 涉及管理端数据展板展示、基于网关日志进行数据分析、流量统计、报表生成等功能 |
tj-exam | 考试中心 | 用于考试相关功能,包括考试管理、成绩记录等 |
tj-front | 前端展示模块 | 负责平台前端页面的展示、交互等功能,包含管理端和前台 |
tj-gateway | 网关控制中心 | 作为网关,处理请求的路由、过滤、鉴权等,保障系统的安全和流量管理 |
tj-learning | 学习中心 | 专注于学习相关业务,也包含用户学习的各种辅助功能 |
tj-live | 直播中心 | 支持直播功能,如直播课程的创建、直播流管理、观众互动等 |
tj-media | 媒资管理中心 | 用于管理媒体资源,如媒资、文件的管理存储 |
tj-message | 消息中心 | 负责平台系统消息/通知推送、以及用户私聊、在线群聊的功能 |
tj-pay | 支付中台 | 集成了多种支付方式,处理支付相关业务,如第三方支付或退款、支付方式管理、支付状态查询、对账等 |
tj-promotion | 营销中心 | 管理平台的促销活动,如优惠券发放、折扣活动设置等 |
tj-remark | 评论管理中心 | 用于处理评论、评价等相关功能,对点赞等操作进行专门统计存储 |
tj-search | 搜索系统 | 提供搜索功能,支持用户对课程、资料等内容的搜索及提供个性化推荐 |
tj-trade | 交易中心 | 处理交易相关业务,如订单管理、交易记录查询等 |
tj-user | 用户中心 | 管理用户相关业务,如用户信息的增删改查、用户角色管理等 |
模块名称 | 模块定位 | 模块介绍 |
---|---|---|
tj-admin | 管理端 | 提供后台管理功能。只有后台用户、教师可以登录。 |
tj-protal | 前台 | 围绕课程提供服务。只有学生端用户可以登录。 |
本项目中包含的技术和解决方案有:
基于自定义注解和Redisson的分布式锁工具
XXL-JOB分布式任务调度工具
Caffeine本地缓存工具
支持可靠消息、延迟消息的RabbitMQ工具
延迟队列DelayQueue
基于CompletableFuture和CountDownLatch的并发任务处理方案
高并发高精度的视频进度记录和回放解决方案
学习计划和学习进度统计的学习监督方案
通用的问答(评论)功能实现方案
通用、高性能的点赞系统解决方案
高性能、低存储成本的签到解决方案
实时性强、通用性好的积分排行榜、历史排行榜解决方案
支持大数据量、高性能校验的优惠券兑换码算法
基于LUA脚本的高性能、并发安全的优惠券领取解决方案(秒杀解决方案)
优惠券叠加的智能推荐算法(MapReduce的思想)
基于Redis合并写请求并基于定时任务异步持久化的并发优化方案
基于Redis和MQ的异步写优化方案
基于腾讯VOD的视频加密、视频点播、视频审核、视频雪碧图功能
包含支付宝支付、微信支付的多平台支付系统
订单退款拆单处理方案
会话存储的表设计方案
多人在线群聊websocket的实现方案
kibana生成简易数据大屏实现方案
通过本地短信模板存储无缝对接多种第三方短信发送平台
使用Spring状态机实现订单状态高效流转的优化方案
Minio对象存储实现分片上传、秒传、断点续传的优化方案
兼容jdk8版本的langchian4j的AI解决方案
兼容jdk8并整合qdrant打造用户个人知识库来进行AI对话的实现方案
基于DFA有穷自动机算法对聊天违禁词高效过滤的解决方案
集成influxdb对日志进行高效存储与数据埋点的实现方案
基于数据埋点形成用户画像的课程推荐算法
通过网关全局过滤器+Redis存储+MQ异步削峰实现的日志高并发记录方案
Promethus+Grafana整合数据指标收集的全链路跟踪解决方案
前端:node: v17.8.0 + npm: 8.5.5 || pnpm: 6.32.8
后端:Java 11
中间件版本:
- MySQL 8.0.29
- Redis 7.0.0
- Nacos 2.1.0
- elasticsearch 7.12.1
- RabbitMQ 3.8
- Kibana 7.12.1
- Minio RELEASE.2024-07-16T23-46-41Z
- XXL-JOB 2.3.0
- influxDB 1.8.2
服务器版本:
- CentOS Linux release 7.9.2009 (Core)
- Docker 20.10.8
项目基于天机学堂进行改造,改造笔记在项目改造笔记
目前因为想集成AI相关内容到此项目中(具体开发进展请查看jdk17分支,相关改造笔记也撰写好),本分支暂时先不更新新功能。
如果您对项目有改造的想法、意见,或者您也想参与到项目代码的贡献,欢迎联系或私信我。QQ:1418875140
各位大佬们可以帮忙点个star,感激不尽。