# 前言
学科竞赛训练管理系统是一个提供于高校老师与学生日常比赛训练的系统。提供了比赛报名,成绩录入,自由组队,水平分析等等功能。
学科竞赛训练管理系统的前端使用 React 创建高可复用的组件,通过声明式编写复杂的 UI,使用 Nginx 作为 Web 服务器,反向代理以解决跨域问题;后端使用 Spring Boot 以约定式配置快速搭建项目,使用 Spring Security 保证应用程序的安全,使用 Spring Data JPA 访问 PostgreSQL,使用 Redis 作为系统缓存。
学科竞赛训练管理系统是我的毕业设计。本文内容因为删掉了与我个人和学校有关的隐私内容,测试和系统设计可能描述的不是很完整。
因为是用 3 天就完成了 90% 前后端开发工作,因此代码不是很简洁,出现了大量重复、冗余代码,尽情谅解。
[后端地址](https://github.com/dormirr/galop-server)
[系统设计详细介绍](https://www.zhangtianci.cn/archives/discipline-competition-training-management-system)
# 系统介绍
针对目前高校举办学科竞赛所遇到的问题,本系统主要设计六个模块,分别是通知模块、战斗力模块、比赛模块、报名模块、角色模块和团队模块。
![系统架构图](https://www.zhangtianci.cn/upload/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E5%9B%BE.webp)
# 安装与使用教程
## 安装
### 服务器环境
服务器需要安装如表所示的软件。
| 名称 | 版本 | |
| :-----: | :-----: | :-----------: |
| Nginx | 1.16 | |
| OpenJDK | 11 | |
| 数据库 | Redis 5 | PostgreSQL 12 |
| Node.js | 12 | |
### 客户端环境
安装 IE 11 或所有现代浏览器。
### Nginx 配置
```xml
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
root D:/AntDesignProjects/galop-web/dist;
location / {
try_files $uri $uri/ /index.html;
rewrite ^/(.*)$ https://localhost/$1 permanent;
}
location /api/ {
proxy_pass https://localhost:8080/;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 443 ssl http2 default_server;
ssl_certificate D:/IdeaProjects/galop-server/core-module/src/main/resources/galop.crt;
ssl_certificate_key D:/IdeaProjects/galop-server/core-module/src/main/resources/galop.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
root D:/AntDesignProjects/galop-web/dist;
location / {
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass https://localhost:8080/;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
```
其中前端文件位置可以在 `root` 处定义,域名可以在 `location` 处定义,证书位置可以在 `ssl_certificate` 和 `ssl_certificate_key` 处定义,可自行修改。
### 数据库配置
#### Redis 配置
```yaml
spring:
data:
redis:
repositories:
enabled: true
redis:
# 数据库索引
database: 0
host: 127.0.0.1
port: 6379
password:
# 连接超时时间
timeout: 5000
```
可自行修改数据库服务器 IP 地址、端口号和密码。
#### PostgreSQL 配置
首先需要使用 `galop_20200502.sql` 文件创建数据库,创建后进行如下数据库配置。
```yaml
spring:
datasource:
druid:
url: jdbc:postgresql://localhost:5432/galop
username: postgres
password: 123456
```
可自行修改数据库服务器 IP 地址、端口号、账号和密码。
### 其他配置
可自行修改 `application.yml` 中如表所示配置。
| 名称 | 默认值 | 备注 |
| :---------------: | :------------------------------------: | :------------: |
| Excel 模板存储位置 | `D:\IdeaProjects\galop-server\file\` | 可选 |
| 邮箱配置 | | 默认为空,必填 |
| 头像存储位置 | `D:\IdeaProjects\galop-server\avatar\` | 可选 |
### 建议配置
建议将前端代码放置在 `D:\AntDesignProjects` 文件夹下,将后端代码放置在 `D:\IdeaProjects` 文件夹下。这样可以直接使用自带的默认配置,仅需配置环境与邮箱。
配置完成后,前端需要执行 `npm install` 安装依赖,然后执行 `umi build` 编译。后端需要执行 `mvn clean install` 打包并发布到本地仓库。
## 运行
### 启动
运行 Nginx 服务器,Redis 和 PostgreSQL,然后运行编译后的 jar 包即可启动。
Windows 10 上具体操作如表所示。
| 命令 | 备注 |
| :--------------------------------------------------------: | :--------------------: |
| 启动 PowerShell | |
| 执行 `cd D:\Nginx\nginx-1.16.1\` | 切换到 Nginx 安装目录 |
| `start ./nginx.exe` | 启动 Nginx 服务器 |
| 启动 WSL 2 | |
| 执行 `redis-server` | 启动 Redis |
| 启动 PostgreSQL 服务 | 自行开启数据库服务 |
| 执行 `cd D:\IdeaProjects\galop-server\core-module\target\` | 切换到后端编译出包位置 |
| 执行 `java -jar .\core-module-1.0.0.jar` | 运行系统 jar 包 |
### 账号
系统初始内置一个管理员账号,账号为 `000000`,密码为 `123456`。
管理员可为其他人批量注册管理员或普通账号,注册后的默认密码为 `123456`。
### 运行
成功启动后可以通过浏览器访问 `https://localhost/login` 进行登录,登录后即可使用学科竞赛训练管理系统。
# 主要技术
## 开发环境
采用前后端分离的方式进行开发,具体环境如表所示。
| 名称 | 版本 | |
| :----------: | :---------------------: | :-----------: |
| 操作系统 | Windows 10 | |
| 版本控制工具 | Git 2.26 | |
| 前端开发环境 | | |
| 开发工具 | Visual Studio Code 1.44 | |
| Node.js | 12.16 | |
| React | 16.13 | |
| JavaScript | ECMAScript 6 | |
| Web 服务器 | Nginx 1.16 | |
| 后端开发环境 | | |
| 开发工具 | IntelliJ IDEA 2020 | |
| OpenJDK | 11 | |
| Spring Boot | 2.2 | |
| 数据库 | Redis 5 | PostgreSQL 12 |
| Web 服务器 | Tomcat 9 | |
若干依赖不再详细列出。
## 运行环境
前端部署在 Nginx 服务器上,
没有合适的资源?快使用搜索试试~ 我知道了~
学科竞赛训练管理系统是一个提供于高校老师与学生日常比赛训练的系统。提供了比赛报名,成绩录入,自由组队,水平分析等等功能。.zip
共164个文件
js:60个
jsx:57个
less:19个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 200 浏览量
2023-10-01
17:04:52
上传
评论
收藏 453KB ZIP 举报
温馨提示
比赛项目源码
资源推荐
资源详情
资源评论
收起资源包目录
学科竞赛训练管理系统是一个提供于高校老师与学生日常比赛训练的系统。提供了比赛报名,成绩录入,自由组队,水平分析等等功能。.zip (164个子文件)
.editorconfig 245B
document.ejs 5KB
.eslintignore 34B
.gitattributes 66B
.gitignore 463B
config.js 14KB
utils.test.js 4KB
monitor.js 3KB
login.js 3KB
team.js 3KB
matchInfo.js 3KB
global.js 3KB
announcement.js 2KB
user.js 2KB
themePluginConfig.js 2KB
registrationInfo.js 2KB
user.js 2KB
service-worker.js 2KB
utils.js 2KB
plugin.config.js 2KB
request.js 2KB
run-tests.js 1KB
baseLayout.e2e.js 1KB
en-US.js 1KB
zh-CN.js 1KB
zh-TW.js 1KB
registrationInfo.js 1KB
authority.js 1KB
team.js 947B
forget.js 895B
fightingCapacity.js 780B
proxy.js 753B
matchInfo.js 746B
renderAuthorize.js 712B
setting.js 672B
en-US.js 593B
zh-TW.js 530B
zh-CN.js 530B
authority.test.js 512B
Authorized.js 511B
topMenu.e2e.js 476B
setupTests.js 375B
login.js 345B
announcement.js 339B
defaultSettings.js 291B
matchResult.js 277B
jest-puppeteer.config.js 241B
jest.config.js 236B
.eslintrc.js 201B
pt-BR.js 170B
pt-BR.js 167B
forget.js 167B
pt-BR.js 166B
en-US.js 156B
en-US.js 155B
en-US.js 153B
zh-CN.js 152B
zh-TW.js 152B
zh-CN.js 149B
zh-TW.js 149B
zh-CN.js 143B
zh-TW.js 143B
.stylelintrc.js 87B
.prettierrc.js 86B
antd-pro-merge-less.js 26B
package.json 4KB
manifest.json 444B
jsconfig.json 168B
index.jsx 8KB
index.jsx 8KB
index.jsx 5KB
index.jsx 5KB
BasicLayout.jsx 4KB
index.jsx 3KB
base.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 3KB
index.jsx 2KB
index.jsx 2KB
global.jsx 2KB
index.jsx 2KB
index.jsx 2KB
index.jsx 2KB
index.jsx 2KB
index.jsx 2KB
UserLayout.jsx 2KB
index.jsx 2KB
index.jsx 2KB
index.jsx 2KB
index.jsx 2KB
CheckPermissions.jsx 2KB
PromiseRender.jsx 2KB
index.jsx 2KB
共 164 条
- 1
- 2
资源评论
学术菜鸟小晨
- 粉丝: 1w+
- 资源: 4928
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STC12C5A60S2单片机+LCD12864液晶显示手机菜单实例源码KEIL C51工程文件.zip
- !!!CSDN上唯一能拿得出手的ASP.NET MVC程序 ASP.NET MVC鞋类销售商城系统
- Screenshot_2024-06-01-10-11-15-96_a935a6faaffa07c582f2c3acde62ae6b.jpg
- STC12C5A60S2单片机+LCD12864液晶图片动画显示实例源码KEIL C51工程文件.zip
- Transmission是一种BitTorrent客户端,他支持了多种操作系统,并且支持多种Nas设备
- 单家独院式农房户型设计水电图.dwg
- STC12C5A60S2单片机+LCD12864俄罗斯方块源码程序实例源码KEIL C51工程文件.zip
- 编程IDE等宽字体,不错的
- FlowGeek FlowGeek是基于MVP架构的、遵循Material Design设计规范的开源中国社区客户端
- 单家独院式图纸农房户型设计90平09.20-t3.dwg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功