学生程序设计能力提升平台源码分析(一)项目综述

前言

2021SC@SDUSC

项目介绍

学生程序设计能力提升平台(以下简称sdu-pta)由山大sdu-pta开发团队自研,以OJ(online judge)为核心,力图打造一个师生学习和在线评测的程序平台,目前仍然处于研发阶段。

项目前后端分离,主要技术开发框架为vue+springboot的主流框架,同时使用了例如:mybatis,rabbitmq,jwt,springsecurity,评测沙箱等等技术完成功能的实现。

项目功能

1.身份认证相关

2.题目相关

3.题目集相关

4.用户组相关

5.信息管理相关

6.开发中。。

项目成员分工

产品策划组:

孤名为義

前端开发组:

小栗帽今天吃什么

Kätzchen-408

后端开发组:

alphahao

wocaizhale

??Nothing(本人)

养猪去

项目运行环境

前端

1.Ubuntu server 20+

2.Node.js 14 LTS 及 npm 7.20+

3.Nginx 1.20+

后端

1.Ubuntu server 20+

2.Java 8

3.MySQL 8.0+

4.Nginx 1.20+

5.tomcat 9

6.rabbitMQ 3.7+

项目环境配置

前端

1.配置Ubuntu server

服务器一般配置,或主流云服务器配置均可

Ubuntu系统可参考 Ubuntu Server 20.04.2 LTS安装配置

2.配置Node.js(两种方式)

(1)手动方式:

访问https://nodejs.org/en/ 下载LTS版本进行安装

(2)自动方式:

更新ubuntu软件源

sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update

通过软件源安装

sudo apt-get install nodejs
sudo apt install libssl1.0-dev nodejs-dev node-gyp npm

安装完成后检查node和npm的版本正确即可

node -v
npm -v

之后通过npm install 完成vue相关的安装

3.配置Nginx

sudo su root
apt-get install nginx
nginx -v

版本检查后编辑nginx.conf完成配置

后端

1.Ubuntu server,node.js和nginx配置同上

2.Java 8配置

sudo apt-get install openjdk-8-jdk
java -version

版本正确即可

3.MySQL 配置

详细过程可参考Ubuntu20.04安装Mysql

4.tomcat 配置(参考负责人员配置)

5.rabbitMQ配置(参考负责人员配置 )

sudo apt-get install erlang-nox

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

sudo apt-get install rabbitmq-server

sudo rabbitmq-plugins enable rabbitmq_management

sudo service rabbitmq-server restart 

之后记得添加防火墙端口和rabbitMQ的用户访问权限

项目运行

1.前端clone项目代码,进入根目录执行:

 npm run build

2.后端clone项目代码,进入根目录,用maven管理:

mvn clean install -Dmaven.test.skip=true

后记

本人负责项目后端部分功能开发,后续将从后端的不同角度分析项目的关键代码和内部实现原理,如有不当之处,请多多指正,谢谢!

你可能感兴趣的:(sdu-pta项目分析,java)