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/countersJSON 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