Moongazing.Kernel represents the core layer of the application, providing a modular structure designed with SOLID principles in mind. It aims to ensure scalability, maintainability, and consistency across the application.
The solution is divided into several projects, each responsible for specific concerns. Below is an explanation of each project:
- Purpose: Handles application logic, business rules, and request processing.
- Key Features:
- CQRS: Implements Command and Query patterns.
- DTOs: Defines Data Transfer Objects for inter-layer communication.
- MediatR: Enables in-process messaging to decouple components.
- Purpose: Manages cross-cutting concerns like logging, validation, and caching.
- Key Features:
- Logging: Provides a unified logging mechanism.
- Validation: Ensures input data is validated.
- Caching: Enhances performance by implementing caching mechanisms.
- Purpose: Manages multi-language support and localization.
- Key Features:
- Resource Management: Handles application texts for different languages.
- Globalization: Ensures smooth internationalization and localization processes.
- Purpose: Provides email management and sending functionalities.
- Key Features:
- SMTP Support: Facilitates email sending via SMTP.
- Email Templates: Supports dynamic email template creation.
- Purpose: Handles database communication and entity management.
- Key Features:
- Entity Framework Core: Implements an ORM for database operations.
- DbContext: Manages database transactions and connections.
- Repository Pattern: Organizes and standardizes data access.
- Purpose: Manages application security concerns.
- Key Features:
- Authentication & Authorization: Handles user authentication and role-based authorization.
- JWT: Implements JSON Web Token for secure API access.
- Encryption: Provides data encryption mechanisms to ensure security.
- .NET 7 SDK or later
- Entity Framework Core
- MediatR
- FluentValidation
- Clone the repository:
git clone <repository-url>
2.Navigate to the solution directory:
cd Moongazing.Kernel
3.Restore dependencies:
dotnet restore
Build the solution:
dotnet build
-
Run the application (if applicable):
dotnet run
Contribution Guidelines
Follow clean code principles.
Ensure all code adheres to the SOLID design pattern.
Submit pull requests with sufficient documentation and tests.
License
This project is licensed under the MIT License.