What is Frontier - Dotnet?
About
Frontier - Dotnet: This is RealDecoy’s internal Rapid Application Development (RAD) tool/template for building .NET Web API applications using ASP.NET Core 7 framework in the .NET ecosystem. It aims to provide a starting point and a set of best practices for creating scalable and maintainable APIs.
This is a multi-project solution that utilizes Domain Driven Design (DDD) and CQRS patterns to create a maintainable web API applications which run on Linux or Windows and in Docker environments
Features
API Versioning
Enables seamless evolution of the API over time by introducing backward-compatible changes while maintaining compatibility with existing clients.
Fluent Email
Simplifies email implementation within the API by using Fluent Email, a library that offers a fluent and expressive way to send emails.
Fluent Validation
.NET library for building strongly-typed validation rules that provide a consistent way of implementing validation through out the project.
JWT Authentication
Securely authenticates API requests using JSON Web Tokens (JWT), providing stateless and robust authentication capabilities.
Identity Role-Based Authorization
Implements role-based access control using ASP.NET Core Identity, granting fine-grained authorization to API endpoints based on user roles.
Entity Framework Core
Entity Framework (EF) Core is a lightweight, extensible, open source and cross-platform object-relational mapper (O/RM), which enables .NET developers to work with a database using .NET objects.
In Memory Caching
Boosts API performance and reduces load on data sources by caching frequently accessed data or responses in memory.
IP Rate Limiting
Safeguards the API against abusive or excessive requests from individual IP addresses by implementing IP rate limiting.
CQRS with Mediator
Adopts the CQRS pattern using Mediator to separate read and write operations, enhancing scalability and simplifying complex business logic.
Serilog
Integrates Serilog, a powerful logging framework, to effectively capture and manage application logs, facilitating troubleshooting and monitoring.
Swagger
Generates interactive API documentation using OpenAPI, AsyncAPI, and JSON.