程序聚合 软件案例 基于Web的在线学习系统的设计与实现

基于Web的在线学习系统的设计与实现

2026-05-10 14:08:26
行业:在线教育
载体:网站
技术:Python、FastAPI、Vue

业务和功能介绍

一、立项背景与目标
随着编程教育的普及,高校和培训机构对在线化教学管理的需求持续增长。传统教学模式中,课程资源分散、作业批改依赖人工、学习进度难以追踪,既增加了教师的管理负担,也使学生缺乏及时的反馈机制。
本系统针对上述问题,以"编程学习"为核心场景,构建一套面向教师和学生双角色的在线教育平台。
主要目标:
支持教师完成课程创建、章节管理、班级组织、作业发布的全流程管理
支持学生完成视频学习、进度追踪、在线作答、代码提交与即时评测的完整学习闭环
通过安全沙箱实现 Python、C、Java 三种语言的自动代码评测,替代人工批改
通过防刷课机制保障学习行为的真实性,通过统计分析为教学决策提供数据支撑

二、软件功能与核心功能模块
系统分为六个核心模块:
身份认证模块 支持学生和教师两种角色注册,基于邮箱密码登录,使用 JWT 令牌进行全局鉴权。所有接口均需携带有效令牌,教师和学生的操作权限在服务端按角色严格隔离。
课程管理模块 教师可创建课程、添加章节(含文字内容和视频链接),支持 HTML5 原生视频和 B 站嵌入两种播放形式。学生可浏览课程列表、进入章节学习,支持关键词搜索和按班级筛选课程。
班级管理模块 教师创建班级时自动生成邀请码,学生凭邀请码加入班级。班级与课程、作业关联,教师可在班级内发布公告、管理成员、查看班级整体成绩报表。
作业管理模块 教师以课程为单位创建编程作业,配置题目描述、截止时间、前置章节要求和测试用例(含公开样例和隐藏测试点)。学生在作业页面使用内置代码编辑器编写代码,提交后立即触发自动评测,实时返回每个测试点的通过情况、执行时间和错误信息。
代码执行安全沙箱(核心子模块) 支持 Python、C、Java 三种语言。执行前进行静态安全检测(危险函数黑名单、危险头文件、内联汇编、宏别名绕过、格式化字符串漏洞等),编译阶段加入多重 GCC 加固选项,运行阶段限制内存(128MB)、超时(5秒)、最大输出(1MB)和并发数(5个),防止恶意代码危害服务器。
学习进度与防刷课模块 实时记录学生视频观看进度,采用四层防刷课机制:更新频率限制(间隔2秒)、单次进度增幅限制(不超过5%)、观看速度限制(不超过2倍速)、最小学习时长校验(至少观看视频时长的30%)。前端记录实际观看时间段,区分有效观看与拖拽快进。
成绩统计分析模块 学生可查看个人在各课程中的作业通过率和学习进度;教师可查看班级整体成绩分布、各作业的提交情况对比,支持数据导出。

三、业务流程与功能路径描述
教师发布课程和作业的路径
教师注册登录后,在课程列表创建课程并逐章添加内容(文字说明或视频链接,同时填写视频时长供防刷课使用)。创建班级并获得邀请码,将课程添加至班级。在课程详情页发布作业,配置题目、截止时间和测试用例,可设置该作业要求学生先完成指定章节的学习。
学生学习并

项目实现

一、整体架构与设计思路
架构模式
系统采用前后端分离架构。后端基于 Python FastAPI 框架提供 RESTful API,前端基于 Vue 3 + Vite 构建单页应用,通过 Axios 调用后端接口。两端完全解耦,后端仅负责数据处理和业务逻辑,前端负责页面渲染和用户交互。
设计思路
核心设计思路是"按角色隔离、按层防护"。用户分为教师和学生两种角色,所有接口在服务端根据 JWT 令牌中的角色信息进行权限校验,前端只做展示层的条件渲染,不承担安全职责。安全防护采用纵深防御策略,从数据入口到代码执行形成多道防线,不依赖单一机制。
各模块技术栈
身份认证模块:后端使用 FastAPI + python-jose 实现 JWT 令牌签发与校验,密码通过 bcrypt 哈希存储;前端将令牌存入 localStorage,每次请求通过 Axios 拦截器自动附加 Authorization 头。
课程与章节模块:后端使用 SQLAlchemy ORM 管理 Course 和 Chapter 两张表,外键关联并配置级联删除;前端 ChapterView.vue 接入 HTML5 Video API 和 B 站 iframe 嵌入,处理两类视频源的进度追踪差异。
班级管理模块:后端通过多对多中间表 student_classroom 管理学生与班级的关联,自动生成唯一邀请码;前端在个人中心页分角色展示创建或加入入口。
作业与代码评测模块:后端 assignment.py 路由接收提交请求后,调用 code_executor.py 中的 CodeExecutor 类完成安全检测和沙箱执行。前端作业页集成 CodeMirror 代码编辑器,支持 Python、C、Java 三语言语法高亮和代码模板。
代码执行沙箱:Python 执行使用 RestrictedPython 字节码重写进行语法级沙箱,配合进程资源限制;C 语言通过 GCC 编译期选项(含 -fstack-protector-strong、-D_FORTIFY_SOURCE=2、-Werror=format-nonliteral 等)加固;Java 通过 JVM 参数 -Xmx128m 和 -Xss8m 限制堆内存与线程栈。三种语言均使用独立临时目录隔离,执行后自动清理。
学习进度模块:后端 progress.py 存储每个学生对每个章节的进度百分比、开始时间戳和完成标记;前端实时记录视频观看时间段并合并去重,计算有效观看比例,定期上报后端并触发防刷课多层校验。
统计分析模块:基于 Submission 和 Progress 表做聚合查询,为教师提供班级成绩分布报表,为学生提供个人学习进度汇总。
数据库:使用 MySQL,SQLAlchemy 作为 ORM 层,Alembic 管理数据库迁移版本。


示例图片视频


哔哔
5天前活跃
方向: 后端-Python、前端-Web前端、
交付率:100.00%
相似推荐
顶流电商平台数据采集和价格监控
1.随着电商行业竞争白热化,某日化品牌客户面临竞品价格变动快、促销策略滞后、库存监控缺失等痛点。为辅助其动态定价决策,本项目立项建设一套分布式电商数据采集中台。核心目标是实现竞品SKU价格、促销活动、评论情感及库存状态的实时监控与趋势分析,将数据获取时效从人工每日核查提升至分钟级自动化采集,为运营团队提供精准的数据弹药。 2.系统包含四大核心模块:任务调度中心(支持定时/触发式采集任务配置)、多源适配器(针对不同平台封装独立解析引擎)、反爬对抗层(集成动态代理池与验证码识别服务)、数据治理管道(完成去重、格式标准化与异常预警)。各模块松耦合设计,支持水平扩展。 3. 运营人员在管理后台创建采集任务(设定目标URL、采集字段与频次)→ 调度中心下发任务至爬虫集群 → 适配器执行采集并实时对抗反爬 → 原始数据进入清洗管道 → 结构化数据存入MongoDB,同时价格波动触发钉钉告警 → 最终数据通过API同步至客户BI看板,完成从需求到决策的闭环。
Python自动化数据处理脚本集(Excel / 网页采集 / PDF提取)
本项目是一个Python自动化脚本工具集,覆盖三类最常见的办公数据处理场景,旨在替代人工重复操作、提升数据整理效率。 【模块一:Excel批量合并与清洗】 业务场景:企业每月产生多份结构不统一的销售/运营报表,手工合并耗时且易出错。 功能:自动遍历读取多个Excel文件 → 合并为单一汇总表 → 清洗空值、重复行、异常格式 → 输出按维度的汇总统计(月度/产品/人员)。 【模块二:公开网页数据采集与整理】 业务场景:需要定期从公开网页获取结构化信息(如行业资讯、商品列表、政策公示),手工复制粘贴效率低。 功能:模拟浏览器请求 → 解析HTML提取目标字段(标题、作者、标签等)→ 翻页自动遍历 → 输出为CSV文件,可直接导入Excel或数据库。 【模块三:PDF信息提取】 业务场景:企业收到大量PDF格式的发票、合同、报表,需要提取关键字段录入系统。 功能:读取PDF文档 → 定位并提取日期、金额、编号等关键信息 → 汇总输出为Excel表,替代手工逐一录入。 全部脚本采用模块化设计,修改少量配置参数即可适配不同客户的数据结构,交付周期1-2天。
医疗医保核销结算后台-医保核销系统
面向医疗机构搭建医保费用结算中台,覆盖门诊就诊登记、医保单据批量申报、财政基金拨付全流程数字化,支撑医院日常医保报销业务。系统解决并发提交重复扣款、多角色接口权限混乱、高频查询击穿数据库、事务与缓存同步失效等风险,实现单据三层并发校验、多维度动态权限管控、多级缓存防护、N+1 查询优化,保障医保结算数据合规准确。
生活服务综合小程序后台管理系统 - 修享家
立项背景和目标:修享家旨在打造一个全面、高效的综合生活O2O服务平台,无缝连接服务提供者(如维修师傅、家政人员)与普通C端/企业用户。项目的核心目标是开发一个功能强大的PC端后台管理系统,用于全面支撑和统筹该小程序端庞大且复杂的业务和数据流转。 软件功能、核心功能模块的介绍:系统划分为三大功能区,共包含23个具体管理模块。 修享家核心:涵盖多城市订单跟踪、售后退款、师傅人员注册与调度、企业及C端用户分离管理,以及树状结构的服务分类配置。 商城与生活:集成电商商品管理、外卖餐饮、酒店民宿预订、搬家出行、招聘及家政保洁等多元化生活服务。 运营与财务:包含财务集中结算、物流骑手管理、多级分销合伙人(流量合伙人)规则配置,以及多城市区域配置。 业务流程、功能路径描述:业务自用户在前端小程序下单(涵盖维修、购物、外卖等)发起,订单数据实时同步至后台统一化面板。后台运营人员可根据订单类型进行智能或人工派单调度(针对维修与物流),并跟进售后处理及财务结算。同时,系统支持多级分销机制和流量合伙人推广路径,实现业务的被动拉新与裂变。目前该平台已成功流转 1286+ 订单,产生超 386,720+ 元交易流水。
某大型车企内部积分兑换商品平台-积分兑换平台
服务于国内某大型汽车企业的积分兑换平台, 为其搭建一套"行为认可 → 积分累积 → 权益兑换"的数字化激励闭环,把原本分散的绩效奖金、节日福利、培训激励、文化践行奖励统一到一个积分池里,员工自主兑换心仪商品/服务,企业端实现成本可控、规则透明、数据可追溯。 支持多个商品渠道管理,可对接国内主流电商平台的商品信息。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服