Skip to content

For Developers

Gilles Pelfrene edited this page Apr 22, 2023 · 3 revisions

Software layout (detailed)

YPLCalibrationFromRheometer/
│
├── Model/
│   ├── data model
│   │   └── RheometerMeasurement, Rheogram, YPLModel, YPLCalibration, YPLCorrection
│   ├── associated calculations
│   │   └── correct rheograms, calibrate rheograms against the YPL model
│   └── .NET 6.0
├── Service/
│   ├── microservice API
│   │   └── simple CRUD operations to respect single responsibility principle
│   ├── API definition
│   │   └── controllers for Rheograms, YPLCalibrations, YplCorrections and UnitChoiceSets
│   ├── API logic implementation
│   │   └── managers handling access to database
│   ├── data persisted into SQLite database embedded into the docker container (decentralization principle of microservices)
│   └── .NET 6.0
├── WebApp.Client/
│   ├── simple dotnet blazor-based webapp to check-for and use microservice
│   ├── handling Rheograms, YPLCalibrations, YplCorrections and UnitChoiceSets
│   └── .NET6 (plotting features based on Plotly.Blazor)
├── RheometerCorrectionApp/
│   ├── Windows form based app used to check-for shear rate and shear stress correction algorithms
│   └── .NET 6.0
├── Test
│   ├── Functional test-suite of the microservice API (Rheograms, YPLCalibrations and YPLCorrections)
│   └── .NET 6.0
├── NUnit
│   ├── Unit test-suite of the core algorithms of the microservice
│   └── .NET 6.0
└── ModelClientShared
    ├── POCO version of the data model
    │   └── auto-generated from json schema Service/wwwroot/YPLCalibrationFromRheometer/json-schemas/YPLCalibration.txt
    ├── only contains data classes (no methods or algorithms)
    ├── all consumer apps (for instance WebApp.Client) should preferentially depend on ModelClientShared
    │   └── rather than on Model (loose coupling between microservices principle)
    └── .NET 6.0
Clone this wiki locally