基于Spring Boot+Vue的课堂管理系统(前后端分离)
该项目完全免费
介绍
基于Spring Boot+Vue的课堂管理系统。前后端分离。包含教师授课管理、学生选退课、聊天室、签到、笔记管理模块等。
技术架构
-
SpringBoot
-
MyBatis
-
Redis
-
WebSocket
-
VueCLI
-
Axios
-
Element UI
项目特点:
1、后台使用MyBatis连接数据库,编写后台服务器的请求接口。
2、整合WebSocket技术,配置聊天端口,将消息信息封装为对象,实现用户发送信息实时转发功能。
3、使用Redis缓存学生签到记录,学生端签到更新缓存数据,并将数据实时发送至教师端。
4、前端使用Vue CLI创建运行在Node服务器中,使用Element UI对界面进行布局和设计。
5、使用Vue Router来配置路由,实现跳转笔记详情传参,引入Mavon-Editor来实现使用MarkDown的语法来编辑笔记。
6、引入Axios并且配置代理服务器解决跨域请求问题。
7、使用js-cookie来存储用户登录状态。
文件说明
springboot 为后端项目
vue 为前端项目
启动教程
-
导入sql文件。sql/course_selection.sql
-
启动后端项目。
-
启动redis服务。
-
启动前端项目, 再前端项目文件夹输入 npm run serve
-
浏览器输入http://localhost:8081/
-
账号密码见数据库用户表
模块说明
-
课程管理模块:教师可以添加、编辑、删除课程;学生可以选课、退课。
-
聊天室:登录的用户进入聊天室,可以查看在线用户列表,实时进行聊天。
-
签到:教师端可以选择课程发起签到生成一个签到码,学生端若选择了此课程,输入签到码后完成签到,更新状态信息至教师端。
-
笔记管理:用户可浏览公开的笔记,可MarkDown的语法添加和编辑笔记。
实现效果
主页







相关文章:
基于Spring Boot+Vue的课堂管理系统(前后端分离)
该项目完全免费 介绍 基于Spring BootVue的课堂管理系统。前后端分离。包含教师授课管理、学生选退课、聊天室、签到、笔记管理模块等。 技术架构 SpringBoot MyBatis Redis WebSocket VueCLI Axios Element UI 项目特点: 1、后台使用MyBatis连接数据库&…...
供排水管网管理信息化的必要性
供排水管网是城市供水系统的大动脉,它负担者将优质水源输送到最终用户的重要职责,对供水系统有着极其重要的作用。城市供排水管网埋设在地下,规模庞大,仅靠人工难以管理。同时,由于城市的发展,管网连接结构…...
统一格式,无限创意:高效管理不同格式图片批量转换
在数字时代,图片格式的多样性带来了管理上的不便。为了满足不同的需求,我们经常需要将大量图片转换为统一的格式。那么,有没有一种简单、高效的方法来解决这个问题呢?答案是肯定的!今天,我们将为您介绍一款…...
工作电压范围宽的国产音频限幅器D2761用于蓝牙音箱,输出噪声最大仅-90dBV
近年来随着相关技术的不断提升,音箱也逐渐从传统的音箱向智能音箱、无线音箱升级。同时在消费升级的背景下,智能音箱成为人们提升生活品质的方式之一。智能音箱是智能化和语音交互技术的产物,具有点歌、购物、控制智能家居设备等功能…...
中国智造闪耀CES | 木牛科技在美国CES展亮相多领域毫米波雷达尖端方案
素有全球科技潮流“风向标”之称的2024国际消费类电子产品展(CES),于1月9-12日在美国拉斯维加斯会议中心举办。CES是全球最大的消费电子和消费技术展览会之一,汇集了世界各地优秀的消费电子和科技公司,带着最好的产品来…...
亚马逊衣物收纳 梳妆台 收纳柜CPC认证ASTM F2057-23 报告分析
衣物收纳商品是指带有抽屉或铰链门的家具商品,通常是卧室家具,用于存放衣物。该政策适用于独立式服装收纳商品 包括但不限于箱子、五斗橱、抽屉柜、大橱柜、衣橱柜、衣橱、门柜和梳妆台,并且满足以下要求: 衣物收纳商品是指带有抽…...
【设计模式】02-SOLID 设计原则
面向对象编程(OOP)是一种广泛应用的编程范式,它鼓励开发者通过对象来模拟现实世界。为了提高面向对象设计(OOD)的质量和可维护性,Robert C. Martin提出了 SOLID 原则,这五个原则构成了编写良好、…...
突然间我懂了软件
什么是 “遗留代码” – 它是一个不再由具有这些代码相关理论的人维护的代码库。 单枪匹马的工程师能做出比同样有能力的专业团队更好的产品。单干的工程师会花时间为自己的程序建立一套完整的理论,而专业人员则会定期在不同的项目之间流动,他们只对自己…...
游戏美术的技与艺
大家好,我是阿赵。 可能很多朋友都知道,我刚进入游戏行业的时候,做的是美术工作,包括了建模、贴图、动画等,都做过。我对各种美术资源制作也都很熟悉,懂得很多制作的技术。但最后,我却没有继…...
Python(35):Python3 通过https上传文件和下载文件
Python(35):Python3 通过https上传文件和下载文件 Python http方式的下载,参考:https://blog.csdn.net/fen_fen/article/details/113753983 https需要先安装需要的模块 1、上传示例 1.1、调用: upload_strategy(access_token,"1234…...
【MySQL】日期格式为 YYYY-MM 无法直接使用 DATE_SUB 函数的解决方案(特殊处理 或 PERIOD_DIFF 函数)
力扣题 1、题目地址 1843. 可疑银行账户 2、模拟表 表:Accounts Column NameTypeaccount_idintmax_incomeint account_id 是这张表具有唯一值的列。每行包含一个银行账户每月最大收入的信息。 表:Transactions Column NameTypetransaction_idint…...
Redis的key淘汰方式和内存不足淘汰方式
Redis的key过期淘汰方式 Redis key过期策略 定期删除惰性删除 Redis如何淘汰过期的key 定期删除 隔一段时间,就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除定期删除可能会导致很多过期key到了时间并没有被删除掉&#x…...
java使用redis
1、pom.xml文件里面增加如下依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2、yml文件增加如下配置: redis:host: loc…...
MySQL技能树
MySQL作为一款广泛使用的关系型数据库管理系统,提供了丰富多样的SQL语句以支持数据的创建、查询、更新和删除等操作。以下是一份MySQL语句操作大全的概览,涵盖从数据库管理到复杂查询的常用命令: ### 一、数据库管理(DDL - 数据定…...
redis获取过期时间
03,redisTemplate_redistemplate 获取剩余时间-CSDN博客 11.返回当前key所对应的剩余过期时间 redisTemplate.getExpire(key);1 12.返回剩余过期时间并且指定时间单位 redisTemplate.getExpire(key, unit);...
ERROR in Plugin “react“ was conflicted .... 天坑留念-turborepo、eslint plugin
前两天项目代码拉下来,装完依赖启动的时候直接报错: [eslint] Plugin "react" was conflicted between ".eslintrc.js eslint-config-custom eslint-config-alloy/react" and "BaseConfig D:\pan\erp\test\business-servic…...
MergeTwoSortedLists 【合并有序链表】
有种归并排序的感觉 链表好久不用有些生疏了,思想思路是对的,但是代码写出来有问题,。 写完说点感受: 当时在学校学习链表的时候,就了解到链表分为“有头节点”和“无头节点”的链表,所以这里好像就不练&am…...
基于多反应堆的高并发服务器【C/C++/Reactor】(中)HttpRequest模块 解析http请求协议
一、HTTP响应报文格式 HTTP/1.1 200 OK Bdpagetype: 1 Bdqid: 0xf3c9743300024ee4 Cache-Control: private Connection: keep-alive Content-Encoding: gzip Content-Type: text/html;charsetutf-8 Date: Fri, 26 Feb 2021 08:44:35 GMT Expires: Fri, 26 Feb 2021 08:44:35 GM…...
muduo网络库剖析——网络地址InetAddress类
muduo网络库剖析——网络地址InetAddress类 前情从muduo到my_muduo 概要socketaddr_in介绍成员用法 网络地址转换函数 框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库,考虑的肯定是众多情况是否可以高效满足&…...
什么是本地IP?服务器本地IP有哪些优势?
本地IP是指直接在互联网上分配给服务器或设备的IP地址,而不是通过NAT(网络地址转换)或 代理等中间设备进行转发。让我们关注本地IP的优势。 1.直接访问:原始IP允许无中间设备转发或代理直接访问服务器或设备。这减少了网络延迟&a…...
探索音乐资源获取:如何通过开源工具畅享高品质音乐体验
探索音乐资源获取:如何通过开源工具畅享高品质音乐体验 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 在数字音乐时代,寻找稳定、免费且高质量的音乐资源成为许多音乐爱好…...
Obsidian图像转换:提升笔记效率的格式优化解决方案
Obsidian图像转换:提升笔记效率的格式优化解决方案 【免费下载链接】obsidian-image-converter ⚡️ Convert, compress, resize, annotate, markup, draw, crop, rotate, flip, align images directly in Obsidian. Drag-resize, rename with variables, batch pro…...
别只盯着协议!用TC8测试案例深度解读车载网络中的ARP与ICMP:安全与稳定的隐藏关卡
车载以太网底层协议实战:从TC8测试案例看ARP与ICMP的安全设计 当一辆现代汽车以100km/h行驶时,其车载网络每秒需要处理超过5000条网络报文。这些报文中的绝大多数,都由ARP和ICMP这样的基础协议承载。在传统IT领域被视为"简单"的协议…...
Leather Dress Collection 角色扮演效果:模拟不同风格的IT技术面试官
Leather Dress Collection 角色扮演效果:模拟不同风格的IT技术面试官 最近在玩一个挺有意思的AI工具,叫Leather Dress Collection。名字听起来有点怪,但它有个功能让我眼前一亮:角色扮演。你可以让它扮演各种角色,并且…...
JETSON平台SDKManager一站式部署指南:从刷机到外置存储系统迁移
1. 开箱即用:JETSON开发板基础准备 刚拿到JETSON开发板时,很多开发者会对着这块巴掌大的硬件发懵。以我经手过的几十块JETSON TX2 NX为例,正确的开箱姿势应该是先检查配件完整性。除了开发板本体,你还需要准备: 5V/4…...
Linux系统CPU负载与使用率详解及性能监控
1. CPU负载与CPU使用率的本质区别在Linux系统监控和性能调优过程中,CPU负载和CPU使用率这两个指标经常被混淆使用。作为系统管理员,我曾多次遇到团队成员将这两个概念混为一谈的情况,这往往导致对系统性能问题的误判。让我们先从一个实际案例…...
mkcert 命令文档 - 本地 HTTPS 开发证书生成工具详解
1. 命令简介mkcert 是一个用 Go 语言编写的、零配置的本地开发用自签名证书生成工具。它能够自动创建并安装本地证书颁发机构(CA)到系统的信任存储中,并生成受本地信任的开发证书,大幅简化 HTTPS 本地开发环境的搭建过程ÿ…...
从零玩转GitHub:避坑指南与进阶技巧——2026年还不懂的天塌了
好的,今天这篇,咱不聊风花雪月,不扯行业趋势,就唠一个程序员安身立命的硬通货——GitHub。 对,就是那个绿油油的头像、一片Contributions的小方格,被无数简历写成“熟悉版本控制工具”,但可能连…...
逆向工程实战:如何用dbcc解析第三方CAN协议(含自定义结构体改造技巧)
逆向工程实战:用dbcc深度解析非标CAN协议与结构体改造技巧 在汽车电子和工业控制领域,CAN总线协议逆向分析是一项极具挑战性的工作。面对没有文档说明的第三方设备或商用车辆黑盒协议,工程师常常需要从原始数据流中重建通信逻辑。本文将深入探…...
交叉编译microcom
由于默认的busybox没有支持microcom工具,也没有提供源码,所以需要自己交叉编译microcom工具。 microcom工具 https://packages.ubuntu.com/zh-cn/plucky/microcom 下载ubuntu带的软件包microcom,下载microcom_2023.09.0.orig.tar.xz版本&…...
