Backend Overview
The backend is structured into the following levels:
XYZController: receives requests through the API for endpoint /xyzMapper: maps from/to DTOsXYZService: the business service for XYZValidationService: validates business constraintsPersistenceService: provides access to the database and any operations that need the databaseRepository: interface to the database
A hypothetical request is plotted in the diagram below. Note that some calls are optional.