Skip to content

Heimdall is the gatekeeper for rc infrastructure, central to the entire portals.

License

Notifications You must be signed in to change notification settings

ACM-VIT/rc-heimdall

Repository files navigation

Reverse Coding : Heimdall

Build Status Docker Image Version (latest by date) Docker Image Size (tag) Docker Pulls Docker Image Size (tag) GitHub GitHub contributors GitHub last commit GitHub commit activity GitHub issues GitHub pull requests Lines of code GitHub repo size Documentation Coverage

CodeFactor DeepScan grade Maintainability

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.

Description

Other Services

Architecture

https://rc-atlan-preview.vercel.app/assets/rc-arch.png

Running the app

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

Open Source and Collaboration

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.

Events

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.

About

Heimdall is the gatekeeper for rc infrastructure, central to the entire portals.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages