From bded929fd1caee8697d996a00dcdeceef09efcf1 Mon Sep 17 00:00:00 2001 From: "kshitij.k" Date: Thu, 1 Feb 2024 18:43:59 +0530 Subject: [PATCH] docs: add feature documents --- README.md | 7 +++ docs/ASPNETCORE_IDENTITY.md | 35 ++++++++++++++ docs/CLEAN_ARCHITECTURE.md | 91 ++++++++++++++++++++++++++++++++++++ docs/ca_components2.png | Bin 0 -> 85552 bytes docs/ca_diagram1.png | Bin 0 -> 26853 bytes 5 files changed, 133 insertions(+) create mode 100644 docs/ASPNETCORE_IDENTITY.md create mode 100644 docs/CLEAN_ARCHITECTURE.md create mode 100644 docs/ca_components2.png create mode 100644 docs/ca_diagram1.png diff --git a/README.md b/README.md index ae92a2a..615c88a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,13 @@ Dotnet Foundation is a boilerplate project for ASP.NET WebAPI projects. This boilerplate can be used in any .NET project for Osmosys. This project contains common files that can be reused. Objective of building this project is to make it so that people can copy the project and build on top of it. +## Features + +This project uses modern features of dotnet such as Clean Architecture and AspNetCore.Identity. To learn more about them, please go through the following documents: + +1. [Clean Architecture](./docs/CLEAN_ARCHITECTURE.md) +2. [AspNetCore.Identity](./docs/ASPNETCORE_IDENTITY.md) + ## Development Setup 1. Install [VS Code](https://code.visualstudio.com/) diff --git a/docs/ASPNETCORE_IDENTITY.md b/docs/ASPNETCORE_IDENTITY.md new file mode 100644 index 0000000..18650fa --- /dev/null +++ b/docs/ASPNETCORE_IDENTITY.md @@ -0,0 +1,35 @@ +# Identity in AspNetCore + +## Introduction + +ASP.NET Core Identity is an API that supports user interface (UI) login functionality. It helps in managing users, passwords, profile data, roles, claims, tokens, email confirmation, and more. + +It is a versatile and powerful tool that empowers developers to implement robust authentication and authorization mechanisms in their ASP.NET Core applications with minimal effort. Its modular and extensible nature makes it suitable for a wide range of web development scenarios. + +## Key features + +Key features of ASP.NET Core Identity include: + +**1. User Management:** It provides APIs and UI components to handle user registration, login, password recovery, and account management. + +**2. Authentication and Authorization:** ASP.NET Core Identity supports various authentication mechanisms, including cookie-based authentication and external login providers (such as Google, Facebook, and Microsoft). It also enables role-based authorization, allowing developers to control access to specific parts of the application based on user roles. + +**3. Data Storage Abstraction:** It is designed with flexibility in mind and can be configured to use different storage providers for user data, such as SQL Server, MySQL, SQLite, or in-memory storage. This abstraction makes it easy to switch between different databases without changing the application code. + +**4. Security Features:** ASP.NET Core Identity incorporates security best practices, such as password hashing and salting, to protect user credentials. It also supports multi-factor authentication for an added layer of security. + +**5. Extensibility:** Developers can extend ASP.NET Core Identity by customizing user models, adding additional properties, or integrating with other identity systems. + +**6. Integration with ASP.NET Core:** It seamlessly integrates with other ASP.NET Core features and middleware, making it straightforward to incorporate identity management into web applications. + +**7. ASP.NET Identity Core UI:** It provides default UI pages for common identity-related tasks, but developers can customize these pages to align with the application's design and branding. + +## Conclusion + +ASP.NET Core Identity is a membership system that adds authentication and authorization functionalities to ASP.NET Core applications. It simplifies the process of managing user authentication, identity, and access control in web applications. + +For more information on AspNetCore.Identity, please check the following links: + +1. [Identity in AspNetCore for Dotnet 7](https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-7.0&tabs=visual-studio) + +2. [ASP.NET Core Identity source code](https://github.com/dotnet/aspnetcore/tree/main/src/Identity) \ No newline at end of file diff --git a/docs/CLEAN_ARCHITECTURE.md b/docs/CLEAN_ARCHITECTURE.md new file mode 100644 index 0000000..aa87b6e --- /dev/null +++ b/docs/CLEAN_ARCHITECTURE.md @@ -0,0 +1,91 @@ +# Clean Architecture + +## Introduction + +Clean Architecture is a software design philosophy that prioritizes the separation of concerns, making systems more modular, adaptable, and testable. It advocates for a clear distinction between business rules, application logic, and infrastructure details. + +- The primary objective of clean architecture is to ensure that the code/logic remains resistant to change. +- It means that core of the system should be written without direct dependencies. +- So that any future alterations to the development framework or User Interface (UI) can be implemented without modifying the core. +- This means that outer modules depend on the inner core +- It also means that our external dependencies are completely replaceable. + +## Architecture Components and Layers + +Clean architecture philosophy is that innermost core is independent and surrounding outer layers are depending on inner layers. + +![Clean Architecture Diagram Onion View](ca_diagram1.png) +Fig. 1: Clean Architecture Diagram + +It is divided into the following parts, going from the innermost layer to the outer parts. + +**Core Components** +#### 1. The Domain Layer (Inner Core) + +* This layer contains definition of all the objects which represent the business model. +* It also contains the business rules, validations, and domain-specific logic. +* As the innermost layer, it remains independent of infrastructure details. + +#### 2. The Application Layer (Outer Core) + +* This layer manages application specific business logic and application-specific rules. +* All the application "features" are kept here. It is also responsible for calling all the domain objects and methods. + * It consists of Data Transfer Objects (DTOs), interfaces, and services. + * Interfaces define contracts for interacting with the domain and infrastructure layers. + * Services implement application logic, ensuring separation from infrastructure concerns. + +**Components outside the Core** +#### 3. The Infrastrusture Layer + +* Infrastructure layer contains the data access logic. It is responsible for modules pertaining to data storage, external integrations, and identity. +* UserRepository serves as the bridge between the application and the data storage mechanism. +* It includes Identity Models, extending the ASP.NET Identity framework. +* It is also used to configure dependency injection for infrastructure services. + + +#### 4. The Presentation (API) Layer + +* This layer is responsible for containing modules which facilitate interaction with the user. +* It is responsible for handling HTTP requests. +* It follows the RESTful API design principles. +* It contains controllers for user management, authentication, and authorization. + +> Clean architecture pattern puts the focus on domain (inner circle) and contains various logical components that have well defined interactions with one another. + +![Dotnet Foundation Architecture for Project Components](ca_components2.png) +Fig. 2: Components in DotnetFoundation with Clean Architecture + +## Advantages of Clean Architecture + +**Improved Maintainability** + +* By separating the codebase in various logical components and enforcing the dependency rules between them, it becomes much easier to understand and modify the code. +* Abstractions allow you to design your business logic in a flexible way, without having to know the implementation details. + +**Modularity and Separation of Concerns** + +* Each layer has a specific purpose and is decoupled from the others, making it easier to understand and modify individual components without affecting the rest of the system. +* The modular design enables the user to extend the code easily. +* This modularity also makes it easier to reuse components in other projects. + +**Testability** + +* As clean architecture poromtes clear seperation of concerns, it facilitates unit testing for individual components +* Clean architecture also makes it easier to test and debug the code. +* The business logic can be extensively tested as the inner core is independent of the architecture of outer layers. + +**Scalability** + +* The architecture is adaptable to evolving project requirements and scalable for future feature enhancements. +* New features, upgrades, replacements or changes can be introduced without major disruptions to the existing system. + +**Increased Flexibility** + +* Independence from specific frameworks or technologies allows flexibility in choosing the most suitable tools for each layer. +* Dividing the concerns of different components simplifies updating the code to meet changing requirements. + +## Conclusion + +Clean Architecture is designed to prioritize maintainability, flexibility, and scalability by enforcing a clear separation between the core business logic and external dependencies, such as frameworks, databases, and user interfaces. It promotes the use of well-defined boundaries between these layers, with each layer having a specific responsibility and the ability to evolve independently. Clean Architecture aims to create systems that are easy to understand, test, and modify over time. + +For more information please check the official **Microsoft Documentation** on [Clean Architecture](https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures#clean-architecture) \ No newline at end of file diff --git a/docs/ca_components2.png b/docs/ca_components2.png new file mode 100644 index 0000000000000000000000000000000000000000..3deb6efbc9634c28ecf08dd24256395dd4c03172 GIT binary patch literal 85552 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 Cc87rg literal 0 HcmV?d00001 diff --git a/docs/ca_diagram1.png b/docs/ca_diagram1.png new file mode 100644 index 0000000000000000000000000000000000000000..580c537e4b16f405610ab4c3ff19bc0af3819225 GIT binary patch literal 26853 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 L@wI9#r`Z1i&(efe literal 0 HcmV?d00001