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.