Skip to content

Commit

Permalink
Merge branch 'develop' into feature/faq/implement-faq-basis
Browse files Browse the repository at this point in the history
  • Loading branch information
cremertim committed Sep 27, 2024
2 parents 948e364 + 6840edf commit c9f4151
Show file tree
Hide file tree
Showing 14 changed files with 287 additions and 107 deletions.
13 changes: 0 additions & 13 deletions .idea/runConfigurations/Artemis__Server__Aeolus_.xml

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/runConfigurations/Artemis__Server__GitLabCI___Gitlab_.xml

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/runConfigurations/Artemis__Server__Jenkins___Gitlab_.xml

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

63 changes: 42 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@

Artemis brings interactive learning to life with instant, individual feedback on programming exercises, quizzes, modeling tasks, and more. Offering customization for instructors and real-time collaboration for students, this platform bridges creativity and education. Embrace a new era of engaging, adaptive learning and artificial intelligence support with Artemis, where innovation meets inclusivity. Find out more on https://artemisapp.github.io

## Main goals

1. **User experience**: Provide an intuitive and engaging interface that enhances the learning experience for both students and instructors. Ensure ease of use across diverse learning scenarios, fostering seamless interaction and accessibility.

2. **Scalable infrastructure**: Build a robust platform capable of supporting large-scale courses with thousands of participants simultaneously. Ensure high availability, performance, and adaptability as the platform grows in functionality and user base.

3. **Constructive alignment**: Align learning goals, activities, and assessments through well-integrated features such as the exam mode that support instructional design principles. Enable the seamless implementation of interactive learning methodologies, ensuring that every feature contributes meaningfully to learning goals.

4. **Learning analytics**: Leverage data to provide actionable insights into student performance and engagement. Offer detailed feedback to both learners and instructors, enhancing personalized learning experiences and supporting data-driven decisions for educational improvement while ensuring data privacy and security.


## Main features and modules

1. **[Exercises](https://docs.artemis.cit.tum.de/user/exercises)** with automatic and manual assessment. Instructors have many configuration options.
Expand Down Expand Up @@ -83,7 +94,7 @@ The Artemis development team prioritizes the following areas in the future. We w
* **Long term**: Allow students to take notes on lecture slides and support the automatic updates of lecture slides
* **Long term**: Develop an exchange platform for exercises

## Contributing to This Project
## Contributing

We welcome contributions from both members of our organization and external contributors. To maintain transparency and trust:

Expand All @@ -96,28 +107,38 @@ We follow a pull request contribution model. For detailed guidelines, please ref

#### Maintainers


The following members of the project management team are responsible for specific feature areas in Artemis. Contact them if you have questions or if you want to develop new features in this area.

| # | Feature / Module | Responsible maintainer |
|----|-----------------------|------------------------------------------------------------------------------------|
| 0 | Core | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| 1 | Exercises | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| 2 | Programming exercises | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| 3 | Build agents | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| 4 | Quiz exercises | Felix Dietrich ([@FelixTJDietrich](https://github.com/FelixTJDietrich)) |
| 5 | Modeling exercises | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| 6 | Text exercises | Maximilian Sölch ([@maximiliansoelch](https://github.com/maximiliansoelch)) |
| 7 | File upload exercises | Maximilian Sölch ([@maximiliansoelch](https://github.com/maximiliansoelch)) |
| 8 | Exam mode | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| 9 | Assessment | Maximilian Sölch ([@maximiliansoelch](https://github.com/maximiliansoelch)) |
| 10 | Communication | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| 11 | Lectures | Maximilian Anzinger ([@maximiliananzinger](https://github.com/maximiliananzinger)) |
| 12 | Atlas | Maximilian Anzinger ([@maximiliananzinger](https://github.com/maximiliananzinger)) |
| 13 | Iris | Patrick Bassner ([@bassner](https://github.com/bassner)) |
| 13 | Athena | Maximilian Sölch ([@maximiliansoelch](https://github.com/maximiliansoelch)) |
| 15 | Tutorial Groups | Felix Dietrich ([@FelixTJDietrich](https://github.com/FelixTJDietrich)) |
| 16 | Plagiarism checks | Markus Paulsen ([@MarkusPaulsen](https://github.com/MarkusPaulsen)) |
| 17 | LTI | Matthias Linhuber ([@mtze](https://github.com/mtze)) |

| Goal | Responsible maintainer |
|-------------------------|------------------------------------------------------------------------------------|
| User experience | Ramona Beinstingel ([@rabeatwork](https://github.com/rabeatwork)) |
| Scalable infrastructure | Matthias Linhuber ([@mtze](https://github.com/mtze)) |
| Constructive alignment | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| Learning analytics | Maximilian Anzinger ([@maximiliananzinger](https://github.com/maximiliananzinger)) |

| Feature / Module | Responsible maintainer |
|-----------------------|------------------------------------------------------------------------------------|
| Exercises | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| Programming exercises | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| Build agents | Robert Jandow ([@robertjndw](https://github.com/robertjndw)) |
| Quiz exercises | Felix Dietrich ([@FelixTJDietrich](https://github.com/FelixTJDietrich)) |
| Modeling exercises | Felix Dietrich ([@FelixTJDietrich](https://github.com/FelixTJDietrich)) |
| Text exercises | Maximilian Sölch ([@maximiliansoelch](https://github.com/maximiliansoelch)) |
| File upload exercises | Elisabeth Friesinger ([@easy-lisi](https://github.com/easy-lisi)) |
| Exam mode | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| Assessment | Maximilian Sölch ([@maximiliansoelch](https://github.com/maximiliansoelch)) |
| Communication | Stephan Krusche ([@krusche](https://github.com/krusche)) |
| Lectures | Patrick Bassner ([@bassner](https://github.com/bassner)) |
| Atlas | Maximilian Anzinger ([@maximiliananzinger](https://github.com/maximiliananzinger)) |
| Iris | Patrick Bassner ([@bassner](https://github.com/bassner)) |
| Athena | Maximilian Sölch ([@maximiliansoelch](https://github.com/maximiliansoelch)) |
| Tutorial Groups | Ramona Beinstingel ([@rabeatwork](https://github.com/rabeatwork)) |
| Plagiarism checks | Markus Paulsen ([@MarkusPaulsen](https://github.com/MarkusPaulsen)) |
| LTI | Maximilian Anzinger ([@maximiliananzinger](https://github.com/maximiliananzinger)) |



## Setup and guidelines

Expand Down
12 changes: 6 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ dependencies {
implementation "org.apache.sshd:sshd-sftp:${sshd_version}"

// https://mvnrepository.com/artifact/net.sourceforge.plantuml/plantuml
implementation "net.sourceforge.plantuml:plantuml:1.2024.5"
implementation "net.sourceforge.plantuml:plantuml:1.2024.7"
implementation "org.jasypt:jasypt:1.9.3"
implementation "me.xdrop:fuzzywuzzy:1.4.0"
implementation("org.yaml:snakeyaml") {
Expand Down Expand Up @@ -368,7 +368,7 @@ dependencies {
implementation "javax.cache:cache-api:1.1.1"
implementation "org.hibernate.orm:hibernate-core:${hibernate_version}"

implementation "com.zaxxer:HikariCP:5.1.0"
implementation "com.zaxxer:HikariCP:6.0.0"

implementation "org.apache.commons:commons-text:1.12.0"
implementation "org.apache.commons:commons-math3:3.6.1"
Expand Down Expand Up @@ -447,7 +447,7 @@ dependencies {
implementation "org.apache.maven:maven-model:3.9.9"
// NOTE: 3.0.2 is broken for splitting lecture specific PDFs
implementation "org.apache.pdfbox:pdfbox:3.0.1"
implementation "org.apache.commons:commons-csv:1.11.0"
implementation "org.apache.commons:commons-csv:1.12.0"
implementation "org.commonmark:commonmark:0.23.0"
implementation "commons-fileupload:commons-fileupload:1.5"
implementation "net.lingala.zip4j:zip4j:2.11.5"
Expand All @@ -457,7 +457,7 @@ dependencies {
implementation "org.apfloat:apfloat:1.14.0"

// use newest version of guava to avoid security issues through outdated dependencies
implementation "com.google.guava:guava:33.3.0-jre"
implementation "com.google.guava:guava:33.3.1-jre"
implementation "com.sun.activation:jakarta.activation:2.0.1"

// use newest version of gson to avoid security issues through outdated dependencies
Expand Down Expand Up @@ -531,7 +531,7 @@ dependencies {
testImplementation "io.github.classgraph:classgraph:4.8.176"
testImplementation "org.awaitility:awaitility:4.2.2"
testImplementation "org.apache.maven.shared:maven-invoker:3.3.0"
testImplementation "org.gradle:gradle-tooling-api:8.10.1"
testImplementation "org.gradle:gradle-tooling-api:8.10.2"
testImplementation "org.apache.maven.surefire:surefire-report-parser:3.5.0"
testImplementation "com.opencsv:opencsv:5.9"
testImplementation("io.zonky.test:embedded-database-spring-test:2.5.1") {
Expand Down Expand Up @@ -613,7 +613,7 @@ tasks.withType(Test).configureEach {
}

wrapper {
gradleVersion = "8.10.1"
gradleVersion = "8.10.2"
}

tasks.register("stage") {
Expand Down
10 changes: 5 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ node_version=20.16.0
npm_version=10.8.0

# Dependency versions
jhipster_dependencies_version=8.7.0
jhipster_dependencies_version=8.7.1
spring_boot_version=3.3.4
spring_security_version=6.3.3
# TODO: upgrading to 6.6.0 currently leads to issues due to internal changes in Hibernate and potentially wrong use in Artemis server code
Expand All @@ -16,26 +16,26 @@ opensaml_version=4.3.2
jwt_version=0.12.6
jaxb_runtime_version=4.0.5
hazelcast_version=5.5.0
fasterxml_version=2.17.2
fasterxml_version=2.18.0
jgit_version=7.0.0.202409031743-r
sshd_version=2.13.2
checkstyle_version=10.18.1
jplag_version=5.1.0
# not really used in Artemis, nor Jplag, nor the used version of Stanford CoreNLP, but we use the latest to avoid security vulnerabilities
# NOTE: we do not need to use the latest version 9.x here as long as Stanford CoreNLP does not reference it
lucene_version=8.11.3
lucene_version=8.11.4
slf4j_version=2.0.16
sentry_version=7.14.0
liquibase_version=4.29.2
docker_java_version=3.4.0
logback_version=1.5.8
java_parser_version=3.26.2
byte_buddy_version=1.15.1
byte_buddy_version=1.15.3

# testing
# make sure both versions are compatible
junit_version=5.11.0
junit_platform_version=1.11.0
junit_platform_version=1.11.1
mockito_version=5.13.0


Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@

import jakarta.validation.constraints.NotNull;

import org.jgrapht.alg.util.UnionFind;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

Expand All @@ -24,6 +23,7 @@
import de.tum.cit.aet.artemis.atlas.domain.competency.RelationType;
import de.tum.cit.aet.artemis.atlas.dto.NgxLearningPathDTO;
import de.tum.cit.aet.artemis.atlas.repository.CompetencyRelationRepository;
import de.tum.cit.aet.artemis.atlas.service.util.UnionFind;
import de.tum.cit.aet.artemis.core.domain.User;
import de.tum.cit.aet.artemis.exercise.domain.Exercise;
import de.tum.cit.aet.artemis.lecture.domain.LectureUnit;
Expand Down
Loading

0 comments on commit c9f4151

Please sign in to comment.