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
- Create or upload files
- Add files using the command line or push an existing Git repository with the following command:
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
- Invite team members and collaborators
- Create a new merge request
- Automatically close issues from merge requests
- Enable merge request approvals
- Automatically merge when pipeline succeeds
Test and Deploy
Use the built-in continuous integration in GitLab.
- Get started with GitLab CI/CD
- Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)
- Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy
- Use pull-based deployments for improved Kubernetes management
- Set up protected environments
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).