e90922dd

DTABackend

Backend Rest Web Service for the Moodle Dockerized Test Agent (DTA) plugin

Getting started

To make it easy for you to get started with GitLab, here's a list of recommended next steps.

Already a pro? Just edit this README.md and make it your own. Want to make it easy? Use the template at the bottom!

Add your files

cd existing_repo
git remote add origin https://transfer.hft-stuttgart.de/gitlab/HFTSoftwareProject/dtabackend.git
git branch -M master
git push -uf origin master

Integrate with your tools

Collaborate with your team

Test and Deploy

Use the built-in continuous integration in GitLab.


Name

Moodle Dockerized Test Agent (MoDTA).

Description

Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.

Badges

On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.

Visuals

See plugin docs at the Moodle HQ.

Installation

Assumption: Java JDK 17, maven and docker installed, docker running.

Only before the first build, add the dependency to unifiedticketing to your local maven repo using the command in deployunifiedticketingdeptolocalrepo.txt

Build the jar using

export BUILD_NUMBER=<YOUR_BUILD_NUMBER>; mvn clean install

Assumption: members of a system group named 'docker' have access rights to the docker socket and daemon.

Then build the docker image using (Hint: There are backticks in front of 'getent' and after 'f3')

docker build --build-arg AGID=getent group docker | cut -d: -f3 --build-arg BUILD_NUMBER=$BUILD_NUMBER -t <YOUR_DOCKERHUB_ORGANISATION>/dta-backend:latest .

The default image is provided with the organisation hftstuttgart.

Assumption: docker-compose or a new docker version with integrated docker compose running.

Test it without building anything e.g. with Moodle 4.3 using the provided docker-compose.yaml. With this compose file, after Moodle spinup

  • install the dtt plugin
  • configure Moodle to open the necessary ports and hosts under Site Administration/Security/HTTP Security
  • configure moodle dtt plugin backend url to backendcomposedtt:8080
  • create a new course
  • create a new assignment
    • configure the assignment as Dockerized Test Toolkit
    • provide the example repo in the teacher.txt example file
  • add a submission to the new assignment
    • provide the example repo in the student.txt example file
  • see the result!

Usage

See plugin docs at the Moodle HQ.

Support

Issue tracker in this Portal.

Roadmap

Include agent feedback and recommendation functionality.

Contributing

You are ready to go after clone and installation, see above. Contributions welcome!

Authors and acknowledgment

Lineage: Master student project Moodle JUnit Exercise Corrector (MoJEC, 2017), Bachelor student project Moodle Dockerized Code Testing (MoDoCoT, 2020), Master thesis project Moodle Dockerized Test Tool (Moodle DTT, 2021).

License

See LICENSE in the root directory.

Project status

Currently under intensive development via research project AVILAB2 (see HFT research projects page).