Skip to content

Blocksembler/blocksembler-submission-grader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blocksembler Submission Grader

drawing

License: CC BY-NC-ND 4.0

A node.js service that verifies the correctness of assembly programms. The application consumes GradingJobMessages from a RabbitMQ queue, which consists of an assembly source code and the required information to retrieve the related test cases. After running the test cases the result is stored to the blocksembler database.

Getting Started

Run from Source

To get started with the Assembler Programming Learning Environment, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/Blocksembler/blocksembler-submission-grader.git
  2. Install Dependencies: Navigate to the project directory and install the necessary dependencies.

    npm install
  3. Run the application:

    npm run start

Run from Docker Image

Blocksembler is also available on Docker Hub. To get started, follow these steps:

  1. Build docker image:
    docker build -t blocksembler/submission-grader .
  2. Run the Container:
    docker run -d --name submission-grader blocksembler/submission-grader

Environment Variables

Name Default Description
BLOCKSEMBLER_ARCHITECTURE anna Identifier of the architecture plugin to load (e.g., anna).
BLOCKSEMBLER_DB_URI postgres://postgres:postgres@localhost/blocksembler Connection string for the PostgreSQL database used by Blocksembler.
BLOCKSEMBLER_MQ_URI amqp://blocksembler:blocksembler@localhost:5672/blocksembler Connection URI for the RabbitMQ message broker used by Blocksembler.
BLOCKSEMBLER_GRADING_JOB_QUEUE grading-jobs Name of the RabbitMQ queue from which grading jobs are consumed.
BLOCKSEMBLER_GRADER_MAX_STEPS 100000 Maximum number of execution steps allowed per grading job (safety limit).
BLOCKSEMBLER_FAILED_SUBMISSION_PENALTY 1000 * 60 Penalty for failed submissions (in milliseconds).

Contributing

Contributions to this project are welcome! If you have ideas for new features, improvements, or bug fixes, feel free to open an issue or submit a pull request.

Contact

Florian Wörister | Universität Wien

About

A automatic submission grader for blocksembler

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors