Gateways (the public facing gateway - these services are the one's open to the internet)
Clients (containing all client applications)
Project subdomains
The problem domain would initially exist out of 2 microservices:
Building configuration
This should be the main focus in the beginning.
In this subdomain, everything starts with a building (eg: "my home"). A building will have some energy resources (electricity - water - gas). Each of the resources will have one or multiple energy meters with a tarif (day - night - 24hrs).
Structure
This project contains the following building blocks:
BuildingConfiguration.Domain
This is the most important part, the problem domain. It contains all logic and should have a high unit test coverage.
BuildingConfiguration.Infrastructure
Contains infrastructure services. The repositories, defined in the Domain project, are implemented here as well.
Consumption
This will be added later. The consumption service will take in readings from the user, and will be able to generate consumption reports.
Before things can get started we need to set up a project. The structure of the project is based on the dotnet-architecture/eShopOnContainers repo.
The project is based on:
Project structure
In the src folder, we will find:
Project subdomains
The problem domain would initially exist out of 2 microservices:
Building configuration
This should be the main focus in the beginning. In this subdomain, everything starts with a building (eg: "my home"). A building will have some energy resources (electricity - water - gas). Each of the resources will have one or multiple energy meters with a tarif (day - night - 24hrs).
Structure
This project contains the following building blocks:
BuildingConfiguration.Domain
This is the most important part, the problem domain. It contains all logic and should have a high unit test coverage.
BuildingConfiguration.Infrastructure
Contains infrastructure services. The repositories, defined in the Domain project, are implemented here as well.
Consumption
This will be added later. The consumption service will take in readings from the user, and will be able to generate consumption reports.