JAlgoArena Problems is service dedicated for keeping problems definitions and their meta-data. -
Demo: https://jalgoarena-problems.herokuapp.com/
- JAlgoArena Problems allows user to query problems definitions and meta data required for Judge Agent to generate skeleton code in particular language. Additionally - it allows administrator to create new problems or edit existing ones.
Endpoint | Description |
---|---|
GET /problems | Get problems list |
GET /problems/:id | Get problem by id |
- JAlgoArena
- JAlgoArena UI
- JAlgoArena Judge
- JAlgoArena Auth Server
- JAlgoArena Eureka Server
- JAlgoArena API Gateway
- initially, developer push his changes to GitHub
- in next stage, GitHub notifies Travis CI about changes
- Travis CI runs whole continuous integration flow, running compilation, tests and generating reports
- coverage report is sent to Codecov
- application is deployed into Heroku machine
- Heroku (PaaS)
- Xodus (embedded highly scalable database) - http://jetbrains.github.io/xodus/
- Spring Boot, Spring Cloud (Eureka Client)
- TravisCI - https://travis-ci.org/spolnik/JAlgoArena-Problems
There are two ways to run it - from sources or from binaries.
- Default port:
5002
- go to releases page and download last app package (JAlgoArena-Problems-[version_number].zip)
- after unpacking it, go to folder and run
./run.sh
(to make it runnable, invoke commandchmod +x run.sh
) - you can modify port and Eureka service url in run.sh script, depending on your infrastructure settings. The script itself can be found in here: run.sh
- run
git clone https://github.com/spolnik/JAlgoArena-Problems
to clone locally the sources - now, you can build project with command
./gradlew clean bootRepackage
which will create runnable jar package with app sources. Next, runjava -Dserver.port=5002 -jar build\libs\jalgoarena-problems-*.jar
which will start application - there is second way to run app with gradle. Instead of running above, you can just run
./gradlew clean bootRun