# DigitalData Core Bibliothek

## Überblick
Die DigitalData Core Bibliothek implementiert das Konzept der *Clean Architecture* für die Entwicklung von skalierbaren und wartbaren Anwendungen. Diese Bibliothek bietet eine strukturierte Grundlage, um CRUD (Create, Read, Update, Delete) Operationen effizient über eine REST-API zu verwalten. 

## Clean Architecture
*Clean Architecture* ist ein spezifischer Begriff, der eine Software-Entwurfsphilosophie beschreibt, bei der die Geschäftslogik und die Benutzerinteraktion von externen Agenten wie Datenbanken und Frameworks getrennt wird. Diese Entwurfsphilosophie unterstützt die Erstellung von Systemen, die unabhängig von UIs, Frameworks, Datenbanken sind und sich durch einfache Testbarkeit, Wartbarkeit und die Möglichkeit zur Erweiterung auszeichnen.

## CRUD Controller
Der CRUD Controller dient als zentraler Einstiegspunkt für CRUD-Operationen innerhalb der REST-API und interagiert direkt mit dem Service Layer, um Geschäftslogikanforderungen zu erfüllen. Er nutzt Data Transfer Objects (DTOs), um Daten zwischen Client und Server zu übertragen, und sorgt für eine klare Trennung zwischen der API-Schicht und der Geschäftslogik.

### Funktionen des CRUD Controllers
- **Erstellen (Create):** Ermöglicht das Hinzufügen neuer Einträge zu einer Datenquelle.
- **Lesen (Read):** Ermöglicht das Abfragen von Einträgen aus einer Datenquelle, entweder durch Einzelabfragen oder das Abrufen aller Einträge.
- **Aktualisieren (Update):** Ermöglicht das Aktualisieren bestehender Einträge in einer Datenquelle.
- **Löschen (Delete):** Ermöglicht das Entfernen von Einträgen aus einer Datenquelle.

## Verwendung
Die Bibliothek ist so gestaltet, dass sie leicht in bestehende .NET-Anwendungen integriert werden kann. Sie setzt auf bewährte Praktiken und etablierte Design-Patterns, um die Entwicklung von RESTful APIs zu vereinfachen und zu standardisieren.

### Voraussetzungen
- .NET 7 oder höher
- Erfahrung mit RESTful API Design
- Grundkenntnisse in Entity Framework Core und AutoMapper

## Fazit
Die DigitalData Core Bibliothek ist eine interne Softwarelösung der Digital Data Firma, entworfen, um die Entwicklung nach den Prinzipien der Clean Architecture zu unterstützen. Mit dem CRUD-Controller erleichtert sie die Umsetzung von Create, Read, Update und Delete-Operationen innerhalb der firmeneigenen Anwendungen und trägt zur Einhaltung hoher Standards in Wartbarkeit und Testbarkeit bei.