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

前言 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+
【sdu-pta项目分析|学生程序设计能力提升平台源码分析(一)项目综述】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-noxwget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -sudo apt-get install rabbitmq-serversudo rabbitmq-plugins enable rabbitmq_managementsudo service rabbitmq-server restart

之后记得添加防火墙端口和rabbitMQ的用户访问权限
项目运行 1.前端clone项目代码,进入根目录执行:
npm run build

2.后端clone项目代码,进入根目录,用maven管理:
mvn clean install -Dmaven.test.skip=true

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

    推荐阅读