开源一个基于SpringBoot的智慧高校学术报告系统

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 开源一个基于SpringBoot的智慧高校学术报告系统

前言

哈喽兄弟们,好久不见哦~

最近整理了一下之前写过的一些小项目/毕业设计。发现还是有很多存货的,虽然这些项目普遍都写的比较简单,但想一想既然放在电脑里面也吃灰,那么还不如开源分享出去,没准还可以帮助到一些小白新手。

本期就在其中选取了一个学术报告系统进行分享。在项目资料中,包括了项目的完整源代码、前端模板项目、文档介绍、数据库结构以及一些其它素材。

项目介绍

智慧高校学术报告系统(academic-report)是一个基于 SpringBoot 开发的标准 Java Web 项目。系统整体页面设计简约大气,巧妙融合了目前备受瞩目的 AIGC 生成式 AI 技术,选择了阿里通义千问大语言模型,以智能生成趣味报告标题和润色报告内容等方式,提升系统的整体品味。 系统涵盖了丰富的 Excel 表格操作功能,支持信息的高效导入和导出。整个系统设计完善,内置了复杂的审核流程,旨在为高校提供一套信息化管理的优质解决方案。

整体业务流程

角色功能介绍

四种系统角色:教师、部门、学生、管理员。

系统共设计了六类业务角色:系统管理员、教师、学院院长、教务部门、宣传部门、学生。

接下来我们以业务角色的视角来看一下各个角色的功能权限。

系统管理员功能介绍
功能模块 功能描述
登录方面 登录系统
账号方面 修改登录密码
学生信息维护 多条件查询、编辑、删除、Excel批量导入、导出
教师职工信息维护 多条件查询、编辑、删除、Excel批量导入、导出
学校部门管理 多条件查询、编辑、删除
学院管理 多条件查询、编辑、删除
教师功能介绍
功能模块 功能描述
登录方面 登录系统
账号方面 查看、修改个人资料、修改登录密码等
学术报告方面 发布学术报告(填写标题、简介、报告人简介,支持 AIGC 代写润色、上传附件)、编辑、查询审核状态、导出报告文件及附件、回收站等
报告会议方面 查看会议安排以及报名情况、导出报告文件及附件
历史会议方面 系统根据报告时间自动更新会议状态,教师可查看历史会议信息、学生签到统计情况、修改学生签到状态、导出签到表等
消息中心 查看系统消息、清空消息列表等
学院院长功能介绍

学院院长本质上属于特殊的“教师”。

登录方面 登录系统
功能模块 功能描述
账号方面 查看、修改个人资料、修改登录密码等
学术报告方面 发布学术报告(填写标题、简介、报告人简介,支持 AIGC 代写润色、上传附件)、编辑、查询审核状态、导出报告文件及附件、回收站等
报告会议方面 查看会议安排以及报名情况、导出报告文件及附件
历史会议方面 系统根据报告时间自动更新会议状态,教师可查看历史会议信息、学生签到统计情况、修改学生签到状态、导出签到表等
消息中心 查看系统消息、清空消息列表等
报告审核 查看本院教师提交的学术报告列表、查看报告详情、下载报告材料以及附件、审核报告并填写意见(通过/驳回)
教务部门功能介绍

教务部门本质上属于部门的系统角色。

登录方面 登录系统
功能模块 功能描述
账号方面 查看部门资料、修改登录密码等
报告审核 查看本院教师提交的学术报告列表、查看报告详情、下载报告材料以及附件、审核报告并填写意见(通过/驳回)
已通过审核 查询已经通过的所有学术报告列表、详情、状态等
报告会议统计 按照学年、学期查询报告会议、查看具体的签到统计情况、导入签到表、导出签到表、修改学生的签到状态等
宣传部门功能介绍

宣传部门本质上属于部门的系统角色。

登录方面 登录系统
功能模块 功能描述
账号方面 查看部门资料、修改登录密码等
会议排期 查看本院教师提交的学术报告列表、查看报告详情、下载报告材料以及附件、安排学术报告会议(时间地点人数等,安排会议后开放预约,学生可登录系统进行预约报名)
预约情况 查看本院教师的学术报告会议的预约情况,修改会议安排等
准备会议 查看本院报告会议(已截止报名预约且未开始会议),统计报名情况,便于准备工作。
会议统计 查看历史会议信息、学生签到统计情况、修改学生签到状态、导出签到表等
学生功能介绍
功能模块 功能描述
登录方面 登录系统
账号方面 查看、修改个人资料、修改登录密码等
报告大厅 查看当前可报名预约的所有报告会议(简介、报告人、会议信息、报名情况、报告材料等),报名预约
我的预约 查看当前已经预约的所有报告会议、查看报告详情等
参会记录 查看自己报名参加的,已完成的学术报告会议,查看自己的签到状态(需进行线下签到并由教务部门导入签到表到系统)

技术介绍

前端

名称 描述
HTML、CSS 用于设计网页的内容和样式
JavaScript、JQuery 作为开发 Web 页面的脚本语言,为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果
Bootstrap 基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷
前端模板 智慧医药系统页面模板,模板文件已放在分享项目目录下

后端

名称 描述
SpringBoot SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot 致力于在蓬勃发展的快速应用开发领域成为领导者。
SpringMVC Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
MyBatis MyBatis 是一个 Java 持久化框架,它可以帮助开发者更轻松地管理数据库访问和SQL映射。它提供了一种简单且灵活的方式来进行数据库操作,同时还支持动态 SQL、缓存和批量操作等功能。
Thymeleaf Thymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发的,用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 JSP、Velocity、FreeMaker 等,它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。
Druid Druid 是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到 Druid 后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入 Druid,外部系统就可以对该事实进行查询。
EasyPoi 一款基于 Java 的开源框架,专注于简化 Excel 文件的操作和处理。该框架提供了易于使用的 API,使开发人员能够轻松地在 Java 应用程序中进行 Excel 文件的读取、写入、导入和导出操作。EasyPoi 的设计目标是让处理 Excel 文件变得简单、高效,并提供了灵活的注解配置,使开发者能够更便捷地实现对 Excel 数据的操作。通过 EasyPoi,开发人员可以快速地实现 Excel 数据与 Java 对象之间的转换,从而方便地进行数据导入、导出等操作。

开发工具与环境

  • 开发工具
  • IntelliJ IDEA:主要进行系统的开发、系统调试等
  • 使用到的插件
  • Lombok:使用注解代替在实体类中添加的 get/set/toString 方法等
  • WebStorm:主要进行前端页面的开发
  • Navcat:主要进行数据库的连接、建库建表、系统调试等
  • 开发环境
  • JDK 1.8
  • Maven 3.6
  • MySQL 5.7
  • 阿里云 OSS 对象存储
    阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,对于我们这个项目而言,所有的二进制文件,包括头像、用户上传的文件都是存储到了 OSS 里面(调用相关的工具类),在数据库中只是保存了文件的 URL 地址。通过这个 URL 地址就可以获取、下载指定文件
  • 阿里云 AIGC 通义千问大语言模型
    通义千问,是阿里云推出的一个超大规模的语言模型,功能包括多轮对话、文案创作、逻辑推理、多模态理解、多语言支持。能够跟人类进行多轮的交互,也融入了多模态的知识理解,且有文案创作能力,能够续写小说,编写邮件等。

项目结构

本项目使用标准 Java Web 目录结构,后端使用 MVC 三层架构,具体项目结构如下:

  • src:源码目录
  • src/main/java:源码主体目录
  • src/main/java/xxx/component:常用组件存放地址,比如登录拦截器、对象存储客户端、AIGC 客户端【组件】
  • src/main/java/xxx/config:系统配置类存放地址,如 MVC 配置【配置包】
  • src/main/java/xxx/controller:控制器类存放地址【控制层】
  • src/main/java/xxx/entity:实体类存放地址【模型】
  • src/main/java/xxx/dao:MyBatis 的映射接口存放地址【数据访问层】
  • src/main/java/xxx/service:业务层接口存放地址【业务逻辑抽象层】
  • src/main/java/xxx/task:定时任务存放地址【定时任务】
  • src/main/java/xxx/utils:工具类存放地址【工具类】
  • src/resources:资源文件存放目录
  • src/main/resources/academic-report.sql:数据库脚本
  • src/main/resources/mybatis:MyBatis 相关 XML 文件存放位置
  • src/main/resources/static:前端静态资源存放地址
  • src/main/resources/templates:前端页面存放地址
  • src/main/resources/application.yml:项目核心配置文件
  • pom.xml:Maven项目依赖管理文件

注意!如果想要部署本项目,你只需要修改一个文件:application.yml

  1. 修改数据源配置
  2. 阿里云通义千问配置 如何开通并创建API-KEY-阿里云帮助中心
  3. 阿里云对象存储配置 开源项目部署环境准备

注意 MySQL 的版本是 5.7,使用其它版本可能会出现其它未知问题。

系统部分截图

用户登录

管理员相关功能

学生管理


教师相关功能

发布报告(整合 AIGC)

学术报告列表

签到统计情况


消息中心

学院院长相关功能

学院院长后台

报告初审

教务部门相关功能

已过审核

报告统计

宣传部相关功能

安排会议

开放预约

学生相关功能

报告大厅

参会记录

开源声明

本项目已在 Github 开源,喜欢的话记得帮忙点亮 Star,不求打赏,免费分享,只求你一个免费的👍,你的支持是我做下去的动力。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
1月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
258 1
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
存储 安全 Java
打造智能合同管理系统:SpringBoot与电子签章的完美融合
【10月更文挑战第7天】 在数字化转型的浪潮中,电子合同管理系统因其高效、环保和安全的特点,正逐渐成为企业合同管理的新宠。本文将分享如何利用SpringBoot框架实现一个集电子文件签字与合同管理于一体的智能系统,探索技术如何助力合同管理的现代化。
119 4
|
2月前
|
前端开发 Java Apache
SpringBoot实现电子文件签字+合同系统!
【10月更文挑战第15天】 在现代企业运营中,合同管理和电子文件签字成为了日常活动中不可或缺的一部分。随着技术的发展,电子合同系统因其高效性、安全性和环保性,逐渐取代了传统的纸质合同。本文将详细介绍如何使用SpringBoot框架实现一个电子文件签字和合同管理系统。
122 1
|
2月前
|
文字识别 安全 Java
SpringBoot3.x和OCR构建车牌识别系统
本文介绍了一个基于Java SpringBoot3.x框架的车牌识别系统,详细阐述了系统的设计目标、需求分析及其实现过程。利用Tesseract OCR库和OpenCV库,实现了车牌图片的识别与处理,确保系统的高准确性和稳定性。文中还提供了具体的代码示例,展示了如何构建和优化车牌识别服务,以及如何处理特殊和异常车牌。通过实际应用案例,帮助读者理解和应用这一解决方案。
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
49 0
|
2月前
|
机器学习/深度学习 移动开发 自然语言处理
基于人工智能技术的智能导诊系统源码,SpringBoot作为后端服务的框架,提供快速开发,自动配置和生产级特性
当身体不适却不知该挂哪个科室时,智能导诊系统应运而生。患者只需选择不适部位和症状,系统即可迅速推荐正确科室,避免排错队浪费时间。该系统基于SpringBoot、Redis、MyBatis Plus等技术架构,支持多渠道接入,具备自然语言理解和多输入方式,确保高效精准的导诊体验。无论是线上医疗平台还是大型医院,智能导诊系统均能有效优化就诊流程。
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
190 1
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
119 62
|
14天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
79 13