HR.LeaveManagement.NET6
A .NET 6 adaptation of a similar .NET 5 project
Install / Use
/learn @trevoirwilliams/HR.LeaveManagement.NET6README
<div class="text-center alert alert-dark">
<h1 class="display-4">Leave Management System - SOLID and Clean Architecture</h1>
</div>
<div data-purpose="safely-set-inner-html:description:description">
<p>
<strong>Overview </strong>
</p>
<h4>A .NET 6 adaptation of a similar .NET 5 project</h4> <h4><a href="https://github.com/trevoirwilliams/HR.LeaveManagement.CleanArchitecture-dotnet5">Original Project</a></h4>
<p>Creating a <strong>modular</strong>, <strong>testable </strong>and <strong>maintainable </strong>application in .<strong>NET Core</strong> requires a solid foundation. Setting up an application architecture requires foresight and much consideration as early decisions will impact how easily the application is extended and maintained. </p><p>In the long run though, applications need to be maintained and in this case, extended. Between its design and the way the code was written, neither is really possible and so the application needs to be redesigned and future proofed. </p><p><strong>Why SOLID Architecture?</strong></p><p>When we talk about <strong>SOLID </strong>architecture, we are referring to isn’t a straightforward task. Decisions made early in the process can have a large impact later on, and maintainability and testability play an important role. Adopting these practices can also contribute to avoiding <strong>code smells</strong>, <strong>refactoring code</strong>, and facilitate more efficient <strong>agile development</strong>.</p><p>SOLID stands for:</p><ul><li><p><strong>S</strong> - Single-Responsibility Principle</p></li><li><p><strong>O</strong> - Open-closed Principle</p></li><li><p><strong>L</strong> - Liskov Substitution Principle</p></li><li><p><strong>I</strong> - Interface Segregation Principle</p></li><li><p><strong>D</strong> - Dependency Inversion Principle</p></li></ul><p>First, you’ll explore foundational architectural principles which help with the creation of maintainable code. Next, you’ll discover how to set up a real-world application architecture with ASP.NET Core. Finally, you’ll learn how to plug in different, common blocks such as logging and authentication. When you’re finished with this course, you’ll have the skills and knowledge of creating a testable and maintainable ASP.NET Core application needed to architect real-world, enterprise .NET Core apps.</p><p><strong>Build A Strong Foundation in .NET 5 Clean Architecture: </strong></p><ul><li><p>Learn <strong>Clean or Onion Architecture</strong> and <strong>Best Practices </strong></p></li><li><p>Learn <strong>Command Query Responsibility Segregation (CQRS)</strong></p></li><li><p>Implement <strong>Mediatr Pattern</strong></p></li><li><p>Add <strong>Email Service </strong>using <strong>SendGrid</strong></p></li><li><p>Efficient <strong>Exception Handling and Routing </strong></p></li><li><p>Implementing <strong>Unit Testing</strong></p></li><li><p><strong>Moq </strong>and <strong>Shouldy</strong></p></li><li><p><strong>Global Error Handling</strong> with <strong>Custom Middleware and Exceptions</strong></p></li><li><p>Adding <strong>Validation</strong> Using <strong>Fluent Validation</strong></p></li><li><p>Build a <strong>.NET Core API and MVC </strong>UI Application</p></li><li><p>Implement <strong>JWT(JSON Web Token) Authentication</strong></p></li><li><p>Use <strong>GitHub </strong>For Source Control</p></li></ul></div>
