Setup Guide

This guide explains how to set up Artemis in your development environment or a demo production environment. For production setups, you would need to additionally consider topics discussed in the administration setup. Running Artemis consists of two main steps:

  1. Set up the development environment (see Development Environment Setup).

  2. Set up Artemis (see Set up Artemis), which includes setting up optional but recommended features such as programming exercises. The installation guide provides two options for programming exercises, including version control and build system setup.

Artemis is based on JHipster, combining:

To get an overview of the technology stack, visit the JHipster Technology Stack and refer to other tutorials on the JHipster homepage.

Development Environment Setup

Before installing Artemis, install and configure the following dependencies:

  1. Java JDK 21 Download and install Java from Oracle JDK.

  2. Database Server Please refer to this guide for setting up a database server. Artemis uses Hibernate for database interactions and Liquibase for schema migrations.

  3. Node.js (LTS >=22.14.0 < 23) Download from Node.js. Required for compiling and running the Angular client.

  4. npm (>=11.1.0) Installed automatically with Node.js but can be updated separately.

  5. Graphviz (Optional, but Recommended for Production Setups) Install from Graphviz to enable graph generation in exercise descriptions. If missing, errors will appear in production.

IDE Setup

We recommend using IntelliJ IDEA Ultimate for development. Refer to JHipster’s guide on configuring an IDE: JHipster IDE Setup.

Note: The Community Edition of IntelliJ IDEA lacks Spring Boot support. See the comparison matrix for details.

Set up Artemis

Once the development environment is set up, the next step is to configure the Artemis server. This includes optional features such as programming exercises, which require a version control and build system.

Start by following the Server Setup guide, which explains the necessary configurations and provides details on enabling programming exercises.

After completing the server setup, proceed with setting up the Artemis client by following the Client Setup Guide.

Production Setup and Extension Services

Production Setup

A production setup of these core services might need further adaptation to ensure security. For details on securing your production environment, see the administration setup.

Extension Services

Artemis allows extension with several additional services, such as:

  • Mobile notifications via Hermes

  • Automatic feedback generation using large language models (e.g., Iris/Athena)

  • And more…

The setup for these additional services is described as part of the extension service setup.