Dial CMS is a headless CMS built with C# and based on DDD (Domain-Driven Design) principles. The goal is to provide a flexible and extensible content management solution for modern applications.
- Headless Architecture: Decouple content management from presentation.
- Domain-Driven Design: Emphasizes clear business logic with rich domain models.
- Value Objects: Ensures data consistency and extensibility.
- Clean Architecture: Layered architecture with separation of concerns.
- Error Handling: Follows RFC 7807 for standardized error responses.
- Flexible Data Modeling: Use
FieldDtoextensions for seamless conversion to domain models. - Functional Programming Support: Incorporates the
ErrorOrpackage for predictable error handling.
The project follows a clean architecture approach with clearly defined layers:
- Domain: Business logic and domain models.
- Application: Commands, queries, and use cases.
- Infrastructure: Database access and third-party integrations.
- API: Exposes REST endpoints using ASP.NET Core.