Software Architecture
Goals
Domain Driven Design (DDD)
What is DDD?
Coding Guidelines
15 items
API design
nest.js
ConfigurationModule Usage Guide
The ConfigurationModule provides a flexible and type-safe way to manage application configuration. It supports environment variables, validation, and custom decorators for easy access to configuration values.
Saga Module Usage Guide
The Saga Module provides a pattern for executing cross-module workflows (scripts) in a coordinated and type-safe manner. It allows modules to register steps that can be orchestrated by sagas to perform complex operations that span multiple domain boundaries.
Event Mechanism
This document describes the event-based communication mechanism used in the schulcloud-server to decouple modules and handle cross-cutting concerns.