# CompetitionSystem **Repository Path**: yzlwjt614/CompetitionSystem ## Basic Information - **Project Name**: CompetitionSystem - **Description**: 本项目为“竞赛信息管理系统”的应用程序,该系统旨在满足各种竞赛活动的信息管理需求。面向学校、组织或任何举办竞赛的用户,基于B/S体系架构,采用SpringBoot、Mybatis、Vue.js作为前端框架、Element UI以及bootstrap作为UI组件库,以及AJAX异步交互技术用于处理HTTP请求。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-25 - **Last Updated**: 2025-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 竞赛信息管理系统 #### 介绍 本项目为“竞赛信息管理系统”的应用程序,该系统旨在满足各种竞赛活动的信息管理需求。面向学校、组织或任何举办竞赛的用户,基于B/S体系架构,采用SpringBoot、Mybatis、Vue.js作为前端框架、Element UI以及bootstrap作为UI组件库,以及AJAX异步交互技术用于处理HTTP请求。随着信息化和网络化的推进,许多平台都越来越离不开计算机,于是我在系统中实现了以下主要功能: (1) 竞赛信息查询:系统提供了四种条件查询:根据竞赛名称、举办大学、主办单位、竞赛开始举办的时间段进行查询,并展示查询结果。查询功能支持单条件查询以及多条件组合查询,用户可以根据自己的需求灵活地进行信息检索。 (2) 竞赛信息增加:用户可以在主界面填写竞赛信息(竞赛名称、描述、开始时间、截止时间、举办地点、主办单位等信息)并提交,系统将新增的竞赛信息保存到数据库中,并在页面上展示。 (3) 竞赛信息修改:用户可以在主界面点击编辑按钮对已有的竞赛信息进行修改,修改后的信息将更新到数据库中并在页面上展示。 (4) 竞赛信息删除:用户可以通过单个删除按钮或者批量删除按钮进行删除竞赛信息。界面中显示所有竞赛信息,并为每条信息后都有删除按钮,用户点击删除按钮可以将对应的竞赛信息从数据库中移除。 (5) 信息详细展示:通过表格形式展示竞赛信息,包括竞赛名称、竞赛场地、竞赛描述、竞赛开始时间、截止日期、主办单位等信息。每条竞赛信息以行的形式展示在表格中,用户可以直观地浏览和比较各个竞赛项目的详细信息。 (6) 分页功能:系统对展示的信息进行分页处理,分页功能确保用户在浏览竞赛信息时能够方便地浏览多个页面。 #### 软件架构 软件架构说明 操作系统: Windows 11 Java开发包 (JDK):JDK 1.8.0,该应用提供了稳定的开发环境和丰富的库支持 项目管理工具: MAVEN 3.9.6,用于项目依赖管理和构建过程,简化了库的管理和项目构建步骤 集成开发环境 (IDE): IntelliJ IDEA 2023.1 Web服务器: Tomcat 9.0.861,作为Servlet容器和Web服务器,支持JSP和Servlet技术,确保了Web应用的快速响应和稳定运行 数据库服务器: MySQL 8.0.36,用于数据存储。 标准标签库 (JSTL): 使用jstl 1.2.5 浏览器:主要为Microsoft Edge,同时兼容所有主流浏览器 #### 前端技术 - 在系统设计中,我采用了Vue.js作为前端框架,熟悉了如何设计并使用各种组件、以及数据如何绑定、如何使用指令等基本操作。 - 在前端页面设计中,我使用了Element UI和Bootstrap作为UI组件库,通过这些库,我设计了我自认为合理的用户界面。 但是在最初的设计中,因为Element UI的弹窗显示的流畅很舒服,所以我只使用了Element UI。然而我在后续的设计操作中,我发现Bootstrap的数据更新更加简便,所以我希望能够将两个UI组件库结合使用让页面更精美且流畅。但是在使用测试后发现,只要结合两个UI库进行操作的组件,很大可能会有莫名的不显示,并且没有很好的报错提示。 最后,我只将查询操作栏中的三个按钮使用了bootstrap进行设计,让每个操作按钮都具有更个性的显示。 - 我学习并使用AJAX异步交互技术,学习了如何处理HTTP请求,实现了前后端的数据交互。 #### 后端技术 后端系统采用当前流行的SpringBoot+MyBatis+MySQL服务平台进行开发。最终实现了数据库与前端界面的数据交互的功能,并运用数据可视化技术将数据直观地显示到前端 - 学习并使用了Spring Boot框架构建了后端服务,我还掌握了Spring Boot的基本配置和使用。 - 学习并使用MyBatis框架,实现了与数据库的交互,了解了MyBatis的注解和XML配置方式。 #### 数据库设计 - 设计并实现了竞赛信息的数据库模型,掌握了数据库表的设计、索引的添加以及数据的增删改查操作。 - 以及学会了设计sql的函数以及存储过程,我自认为自己设计的存储过程十分的符合竞赛信息的规范(可以实现每种竞赛的届数是唯一的),这是让我很自豪的。