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
| Section | Read it when you want to |
|---|---|
| Setup | Run the server and the client on your machine |
| Development Process | Know which checks run on a pull request |
| Coding Guidelines | Follow the conventions of the project |
| System Architecture | Understand the parts of the system and how they fit together |
| Modules | Change one part of the application, such as validation or package generation |
| REST API | Call an endpoint or look up an error code |
Where to start
- Follow Setup and open the application in your browser.
- Read System Architecture and Key Concepts.
- Read the Coding Guidelines before your first pull request.
Before you write or change a page of this site, read Writing Documentation.