Imagine classic games like tic-tac-toe, go, and connect-4 turning into coding battles.
Admins create contests by submitting a PDF statement file and a judge file. You can find a sample judge file for the game Connect-4 here.
Users submit their programs. You can find a sample source code for the game Connect-4 here.
The platform sets up pairwise matches and runs these matches to find the programs with the highest scores It's not just about solving problems; it's about beating your opponent in these games!- User registration and authentication
- Support easy contest preparation with a platform for running sample matches
- Admins can allow users to run their submissions against each other before the final matchup
docker pull hoanggiapvuvhg/codecuphsgs_backend
docker run -e JUDGE_SERVER_URL={URL of the judge server} -e MONGODB_URI={URI of your MongoDB connection} -p {host port}:8000 --mount source={docker volume},target=/usr/src/app/files -p {host port}:5000 hoanggiapvuvhg/codecuphsgs_backend
docker pull hoanggiapvuvhg/codecuphsgs_frontend
docker run -p {host port}:3000 -e BACKEND_URL={URL of your backend server} hoanggiapvuvhg/codecuphsgs_frontend
Build and run the backend server:
cd backend &&
npm run build &&
npm run start
Build and run the front-end server:
cd Frontend &&
npm run build &&
npm run start
Then go to http://localhost:3000/
Set up a local MongoDB database:- Install and run a local MongoDB server: https://www.mongodb.com/docs/manual/installation/
Import sample user data & contest data:
- Download MongoDB compass https://www.mongodb.com/try/download/compass
- In MongoDB compass, create a connection to mongodb://localhost:27017
- In the database "codecup", import the data here into the corresponding collections.
You can then log in as an administrator:
username: admin
password: a