Here's a full description of the project: https://docs.google.com/document/d/1f8j62gSH-_aCgw6UuyVhvLXB689kQZFbqTvY-xI8wMA/edit?usp=sharing%20
For this project, you're going to build an open-source Online Judge Proxy for CSUMB Programming Team.
An Online Judge (OJ) is an online system to test programs in programming contests. Some of the most popular OJ platforms include: LeetCode, CodeForces, and Kattis. None of those platforms are open-source. Many good practice problems and features exist in one platform, but not another.
The tool you built in the summer will be used as part of A Learning Platform for Programming Team. The OJ proxy will be used as a centralized OJ, which can forward problem submissions to different problem sources.
What tools did you use to create your project?
How much experience does your group have? Does the project use anything (art, music, starter kits) you didn't create?
The team for this project did not have much experience in creating a client application, however did have experience in Python and working with APIs. After research into building this client, two code bases were used to help facilitate this project to completion.
What challenges did you encounter?
Getting the CLI tool to work with CodeForces was the biggest challenge in this project. The CodeForces platform is hard to navigate and although an API does exist, there is no submission method. In addition, the open source code base is written in Go which makes it harder to integrate with our CLI.