Skip to main content

Welcome to the Developer Guide

This guide is for people who change the code of the Artemis Feature Model. It explains the conventions of the project and how its parts fit together.

What the Artemis Feature Model does​

Artemis is a learning platform with many optional features. Each Artemis installation switches features on or off, and some features depend on each other or exclude each other. The Artemis Feature Model describes these features and their rules as a feature model: a tree of features plus the constraints between them.

The application has two views. The Explorer shows the feature model as a tree, a list, or a diagram. The Configurator guides you through decisions, validates your selection after every change, and generates configuration files and deployment packages for a valid selection.

A Spring Boot server loads and validates the model and generates the files. An Angular client renders the two views. An extraction pipeline builds the model from the Artemis source code; the Maintainer Guide explains how the model is kept in line with Artemis.

What this guide covers​

SectionRead it when you want to
SetupRun the server and the client on your machine
Development ProcessKnow which checks run on a pull request
Coding GuidelinesFollow the conventions of the project
System ArchitectureUnderstand the parts of the system and how they fit together
ModulesChange one part of the application, such as validation or package generation
REST APICall an endpoint or look up an error code

Where to start​

  1. Follow Setup and open the application in your browser.
  2. Read System Architecture and Key Concepts.
  3. Read the Coding Guidelines before your first pull request.

Before you write or change a page of this site, read Writing Documentation.

Search documentation