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.

⚠️

UI/UX Guidelines

For all UI-related development work, you must follow the AET UI/UX Guidelines. These external guidelines cover design principles (simplicity, consistency, feedback, accessibility, learnability), general conventions, accessibility standards, and component styling (buttons, headings, spacing, colors).

The Artemis-specific guidelines below focus on implementation details for Angular/TypeScript development, while the AET UI/UX Guidelines define the design standards you must follow.

Client Guidelines

Guidelines for Angular/TypeScript frontend 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

Server Guidelines

Guidelines for Spring Boot/Java backend development:

  • Server Development - Java best practices, project structure, REST APIs, and authorization
  • Server Tests - Server testing strategies, ArchUnit, and performance tips
  • Database - Database design, relationships, cascade types, and dynamic fetching
  • 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

Key Principles

ℹ️

Code Quality First

  • Prioritize code quality and test coverage
  • Reuse code and avoid duplication
  • Write meaningful tests
  • Follow established patterns and conventions
⚠️

Performance Matters

  • Write performant queries that scale to 1000+ objects
  • Use lazy loading by default
  • Implement proper caching strategies
  • Avoid N+1 query problems

Security is Critical

  • Never trust user input
  • Always validate and sanitize data
  • Use proper authorization checks
  • Follow the principle of least privilege

Getting Started

If you're new to Artemis development:

  1. Start with the Client Development or Server Development guidelines based on your work focus
  2. Review the Testing guidelines to understand our testing standards
  3. Familiarize yourself with Database guidelines for data modeling
  4. Check the Language guidelines for inclusive communication

Contributing

When contributing to Artemis:

  • Follow the style guides and conventions outlined in these documents
  • Ensure your code passes all linting and formatting checks
  • Write tests for new functionality
  • Document your code appropriately
  • Review related guidelines before making changes

Questions?

If you have questions about these guidelines or need clarification:

  • Check the specific guideline page for detailed information
  • Ask in the development team channels
  • Consult with maintainers or experienced contributors