How ls1intum/artemis works
Artemis is a self-hosted interactive learning platform for courses, exercises, assessment, adaptive learning, and optional AI assistance. The principal workflow is a student using the web application to access course learning activities and receive exercise feedback; instructors also create and review learning content. The README documents broad product capabilities, while the supplied source excerpts cover only selected services, so the graph preserves documented feature areas but omits unverified wiring between them. Solid links reflect sampled calls or directly documented behavior; AI integrations are shown as optional.
Main entry points: exercise Interactive exercises · app.routes.ts Application routes · ProgrammingExerciseCodeReviewFeedbackService.java Programming feedback · ExerciseReviewService.java Exercise review
Components 19
Web application
- Application routes
src/main/webapp/app/app.routes.ts - Course enrollment
src/main/java/de/tum/cit/aet/artemis/core/service/EnrollmentService.java - Feature usage analytics
src/main/java/de/tum/cit/aet/artemis/admin/service/FeatureUsageQueryService.java
Learning activities
- Interactive exercises
src/main/java/de/tum/cit/aet/artemis/exercise - Online exams
src/main/java/de/tum/cit/aet/artemis/exam - Course communication
src/main/java/de/tum/cit/aet/artemis/communication - Lectures and units
src/main/java/de/tum/cit/aet/artemis/lecture
Assessment
- Programming feedback
src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseCodeReviewFeedbackService.java - Exercise review
src/main/java/de/tum/cit/aet/artemis/exercise/service/review/ExerciseReviewService.java - Quiz submissions
src/main/java/de/tum/cit/aet/artemis/quiz/service/DragAndDropQuizAnswerConversionService.java - Review context
src/main/java/de/tum/cit/aet/artemis/hyperion/service/HyperionReviewCommentContextRendererService.java
Adaptive and AI
- Competencies and paths
src/main/java/de/tum/cit/aet/artemis/atlas/service/CompetencyOrchestrationService.java - Iris tutor
src/main/java/de/tum/cit/aet/artemis/iris/service/session/IrisChatPipelineExecutionService.java - Pyris pipeline
src/main/java/de/tum/cit/aet/artemis/iris/service/pyris/PyrisPipelineService.java - Athena suggestions
src/main/java/de/tum/cit/aet/artemis/programming/service/ProgrammingExerciseCodeReviewFeedbackService.java - Hyperion authoring
src/main/java/de/tum/cit/aet/artemis/hyperion/service/variants/ExerciseVariantGenerationPipelineService.java
Other components
- Student
- Instructor
- Pyris service
Connections 19
- Student → Application routes: uses
- Instructor → Application routes: uses
- Application routes → Course enrollment: routes enrollment
- Student → Interactive exercises: participates
- Instructor → Interactive exercises: creates activities
- Interactive exercises → Programming feedback: requests feedback
- Programming feedback → Athena suggestions: requests suggestions
- Interactive exercises → Quiz submissions: converts answers
- Instructor → Exercise review: reviews submissions
- Exercise review → Review context: renders thread context
- Student → Online exams: takes exam
- Student → Course communication: communicates
- Student → Lectures and units: studies units
- Interactive exercises → Competencies and paths: informs adaptation
- Student → Iris tutor: asks for guidance
- Iris tutor → Pyris pipeline: builds execution
- Pyris pipeline → Pyris service: executes pipeline
- Instructor → Hyperion authoring: generates variants
- Application routes → Feature usage analytics: exposes administration