# system **Repository Path**: huangping585/system ## Basic Information - **Project Name**: system - **Description**: 一个开源的志愿汇系统简单实现 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-30 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目介绍 志愿汇系统是一个基于SpringBoot项目。系统整体页面设计方便简捷利于使用,且涵盖了丰富的 Excel 表格操作功能,支持信息的高效导入和导出。整个系统设计完善,内置了志愿活动的审核流程以及对志愿活动的记录,旨在为高校提供一个高效记录志愿服务的系统。 ### 角色功能介绍 四种系统角色:志愿委员、团支书、部门、学生。 系统共设计了五类业务角色:志愿委员、团支书、校团委、宣传部、学生。 #### 志愿委员功能介绍 | 功能模块 | 功能描述 | | ------------ | ------------------------------------------------------------ | | 登录方面 | 登录系统 | | 账号方面 | 查看、修改个人资料、修改登录密码等 | | 志愿活动申请 | 发布志愿活动(填写标题、简介、申请人简介、上传附件)、编辑、查询审核状态、导出文件及附件、回收站等 | | 志愿活动详情 | 查看志愿活动安排以及报名情况、导出文件及附件 | | 历史志愿活动 | 系统根据活动时间自动更新活动状态,志愿委员可查看历史志愿活动信息、学生签到统计情况、修改学生签到状态、导出签到表等 | | 消息中心 | 查看系统消息、清空消息列表等 | #### 团支书功能介绍 | 登录方面 | 登录系统 | | ------------ | ------------------------------------------------------------ | | 功能模块 | 功能描述 | | 账号方面 | 查看、修改个人资料、修改登录密码等 | | 志愿活动 | 查看志愿活动安排以及报名情况、导出文件及附件 | | 历史志愿活动 | 系统根据志愿活动时间自动更新活动状态,团支书可查看历史志愿活动信息、学生签到统计情况、修改学生签到状态、导出签到表等 | | 消息中心 | 查看系统消息、清空消息列表等 | | 志愿活动审核 | 查看志愿委员提交的志愿活动列表、查看志愿活动详情、下载志愿活动材料以及附件、审核活动并填写意见(通过/驳回) | #### 校团委部门功能介绍 | 登录方面 | 登录系统 | | ------------ | ------------------------------------------------------------ | | 功能模块 | 功能描述 | | 账号方面 | 查看部门资料、修改登录密码等 | | 志愿活动审核 | 查看本院志愿委员提交的志愿活动列表、查看志愿活动详情、下载材料以及附件、审核并填写意见(通过/驳回) | | 已通过审核 | 查询已经通过的所有志愿活动列表、详情、状态等 | | 志愿活动统计 | 按照学年、学期查询志愿活动、查看具体的签到统计情况、导入签到表、导出签到表、修改学生的签到状态等 | #### 宣传部门功能介绍 | 登录方面 | 登录系统 | | -------- | ------------------------------------------------------------ | | 功能模块 | 功能描述 | | 账号方面 | 查看部门资料、修改登录密码等 | | 志愿活动排期 | 查看志愿委员提交的志愿活动列表、查看志愿活动详情、下载志愿活动材料以及附件、安排志愿活动(时间地点人数等,安排志愿活动后开放预约,学生可登录系统进行预约报名) | | 预约情况 | 查看志愿委员的志愿活动的预约情况,修改志愿活动安排等 | | 准备志愿活动 | 查看志愿活动(已截止报名预约且未开始的志愿活动),统计报名情况,便于准备工作。 | | 志愿活动统计 | 查看历史志愿活动信息、学生签到统计情况、修改学生签到状态、导出签到表等 | #### 学生功能介绍 | 功能模块 | 功能描述 | | -------- | ------------------------------------------------------------ | | 登录方面 | 登录系统 | | 账号方面 | 查看、修改个人资料、修改登录密码等 | | 活动大厅 | 查看当前可报名预约的所有志愿活动(简介、申请人、志愿活动信息、报名情况、活动材料等),报名预约 | | 我的预约 | 查看当前已经预约的所有志愿活动、查看志愿活动详情等 | | 活动记录 | 查看自己报名参加的,已完成的志愿活动,查看自己的签到状态(需进行线下签到并由教务部门导入签到表到系统) | ## 技术介绍 ### 前端 | 名称 | 描述 | | :----------------- | ------------------------------------------------------------ | | 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 ## 项目结构 本项目使用标准 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项目依赖管理文件 > 本项目已在 Gitee 开源,