Skip to content

kusl/trevoirwilliams-hrleavemanagement

Repository files navigation

Leave Management System - SOLID and Clean Architecture

Educational Project to demonstrate Clean Architecture in .NET Core.
Full Course: ASP.NET Core - SOLID and Clean Architecture (.NET 5 and Up)

Overview

Creating a modular, testable and maintainable application in .NET Core 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.

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.

Why SOLID Architecture?

When we talk about SOLID 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 code smells, refactoring code, and facilitate more efficient agile development.

SOLID stands for:

  • S - Single-Responsibility Principle

  • O - Open-closed Principle

  • L - Liskov Substitution Principle

  • I - Interface Segregation Principle

  • D - Dependency Inversion Principle

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.

Build A Strong Foundation in .NET 5 Clean Architecture:

  • Learn Clean or Onion Architecture and Best Practices

  • Learn Command Query Responsibility Segregation (CQRS)

  • Implement Mediatr Pattern

  • Add Email Service using SendGrid

  • Efficient Exception Handling and Routing

  • Implementing Unit Testing

  • Moq and Shouldy

  • Global Error Handling with Custom Middleware and Exceptions

  • Adding Validation Using Fluent Validation

  • Build a .NET Core API and MVC UI Application

  • Implement JWT(JSON Web Token)  Authentication

  • Use GitHub For Source Control