In ihr versuche ich den Domain Driven Design Ansatz umzusetzen. Von Anfang an wird auf Test Driven Development gesetzt um eine möglichst hohe Testabdeckung zu erreichen.
.Net Framework 8 später 9
Entity Framework Core 8/9
Evolutionary Architecture:
https://github.com/evolutionary-architecture/evolutionary-architecture-by-example
UI:
Avalonia UI
https://avaloniaui.net/
Basiert auf SkiaSharp
SkiaSharp:
https://github.com/mono/SkiaSharp
C# Port von google skia: https://skia.org/
Printing/Reporting:
https://github.com/QuestPDF/QuestPDF
basiert auch auf Skia
Datenbank:
SQLite: Treiber build in .Net
Postgresql: https://www.npgsql.org/
Internes Event Messaging System: https://github.com/jbogard/MediatR
Weitere Nuget Pakete die verwendet werden: https://docs.fluentvalidation.net/en/latest/ https://fluentassertions.com/
- Hexagonale Architektur/Onion Architektur mit Domain Driven Design (DDD):
Versuch sauber zu trennen (Slicing)
- Wissen EF Core verbessern (Code First Ansatz)
- Test Driven Development mit hoher Coverage sowohl Unit, Integration als auch Architecture Tests
- Avalonia UI Cross Plattform (Service orientiert (DI) wie bei ASP.Net Core)
- Postgresql/SQlite
- Möglichst offene Architektur, die sich weiterentwickeln kann. Von einem Monolithen zu einem Modolithen bis hin zu einer Microservice Architektur.
https://entwickler.de/software-architektur/microservices-oder-monolithen-beides
- Nur OpenSource Komponenten
- Github Wissen verbessern, insbesonder Github Actions
Mal schauen, wie weit ich komme :-)