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:
- Start with the Client Development or Server Development guidelines based on your work focus
- Review the Testing guidelines to understand our testing standards
- Familiarize yourself with Database guidelines for data modeling
- 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