Skip to main content

Coding and Design Guidelines

Welcome to the Artemis Coding and Design Guidelines. These guidelines help maintain code quality, consistency, and best practices across the project.

Client Guidelines

Guidelines for Angular and TypeScript client development:

  • Client Development - Angular development practices, naming conventions, components, and advanced topics
  • Client Theming - Theme management, color usage, and styling guidelines
  • Client Tests - Testing practices, mocking strategies, and coverage standards
  • TUM UI package - Architecture, integration, and contribution rules for the in-house design system
  • TUM UI component reference - Interactive component states, controls, accessibility checks, and APIs

Server Guidelines

Guidelines for Spring Boot/Java backend development:

  • Server Development - Java best practices, project structure, REST APIs, and authorization
  • REST API - REST API design, Data Transfer Objects (DTOs), and API best practices
  • Server Tests - Server testing strategies, ArchUnit, and performance tips
  • Database - Database design, relationships, cascade types, and dynamic fetching
  • Quiz JSON Persistence Migration - How the quiz child tables collapse into content / selection / counters JSON columns
  • Performance - Performance optimization, data economy, paging, and query optimization
  • Criteria Builder - Type-safe dynamic queries using JPA Criteria API

General Guidelines

  • Language - Inclusive, diversity-sensitive, and appreciative language guidelines
Search documentation