Heimdall is the main micro-service that is responsible for user-management, ingestion of problems from endpoints, providing API endpoints for main user interface, interaction with task-runners, code submission and evaluation. Since this service basically handles all requests from the client, it's named Heimdall.
- Code Documentation: Compodocs
- API Documentation: Swagger
- API Playground to export client stubs : Swagger
There are two methods to run the application. First is by building the package locally and second is using the official docker image.
# clone the repository
git clone https://github.com/YashKumarVerma/rc-heimdall
cd rc-heimdall
# install dependencies
yarn install
# start development server
yarn start:dev
Running from docker requires a hosted postgres instance (you can use a docker container for the same, just configure the network accordingly). Also note that heimdall depends on judge0 and task-runner for it's operation. While testing, use something like webhook.site to listen for outgoing requests.
# fetch the latest published image
docker pull yashkumarverma/rc-heimdall
# launch a container in production mode
docker run -d \
-p 80:80 \
--name heimdall \
-e NODE_ENV='production' \
-e DB_HOST='some-domain.postgres.database.azure.com' \
-e DB_USERNAME='username@xyz' \
-e DB_PASSWORD='secure-password' \
-e DB_NAME='postgres'\
-e JUDGE_ENDPOINT='http://127.0.0.1:1974' \
-e JUDGE_CALLBACK='http://52.171.196.193/judge/callback'\
-e RUNNER_ENDPOINT_EXEC='http://127.0.0.1:8000/run' \
-e RUNNER_ENDPOINT_SEED='http://127.0.0.1::8000/sync' \
yashkumarverma/rc-heimdall:latest
Heimdall is (part of) a MIT licensed open source project. If there's a feature that you'd like to add to be added, please open a issue/feature request for the same. We'd be happy to ship more features as needed.
If you are interested in organizing an event like Reverse Coding for your community / club / college / audience, feel free to reach out the author. To support events like these, we'd love to host the services free of cost for our fellow colleges.
- Yash Kumar Verma
- Twitter: @yash_kr_verma
- Email: yk.verma2000@gmail.com
- Stack Overflow: yash-kumar-verma