Scarecrow.WebApi.Template
2.0.0
dotnet new install Scarecrow.WebApi.Template::2.0.0
Scarecrow.WebApi
Overview
This .NET Web API template implements Clean Architecture principles (inspired by amantiband/clean-architecture
). It comes pre-configured with Routing Convention
, Logging
with Serilog
, middleware integration for exception & logging handler, object mapping with Mapperly
, and API versioning.
Key Features
- Routing Convention: Use kebab-case routing convention.
- Robust Logging: Powered by
Serilog
. - Integrated Middleware: Streamlined for handling exceptions and logging.
- Object Mapping: Efficiently managed with
Mapperly
. - API Versioning: Enabling smooth API evolution.
Installation
Install the template from Package Manager console:
Package Manager Console:
dotnet new install Scarecrow.WebApi.Template
.NET CLI
dotnet new install Scarecrow.WebApi.Template
Library Used In This Template
This template leverages a set of robust libraries and frameworks to implement Clean Architecture and other best practices.
Package | Version | License |
---|---|---|
SingleScope.Persistence | 3.2.0 | MIT |
MediatR | 12.5.0 | Apache-2.0 |
ErrorOr | 2.0.1 | MIT |
SmartEnum | 8.2.0 | MIT |
Serilog | 4.2.0 | Apache-2.0 |
FluentValidation | 12.0.0 | Apache-2.0 |
Mapperly | 4.2.1 | Apache-2.0 |
ApiExplorer | 8.1.0 | MIT |
Contributions
Contributions are welcome! If you encounter a bug, have a suggestion, or want to contribute code, please follow these steps:
- Check the GitHub Issues to see if your issue or idea has already been reported.
- If not, open a new issue to describe the bug or feature request.
- For code contributions:
- Fork the Project repository.
- Create your Feature Branch (
git checkout -b feature/YourAmazingFeature
). - Commit your Changes (
git commit -m 'Add YourAmazingFeature'
). Adhere to conventional commit messages if possible. - Push to the Branch (
git push origin feature/YourAmazingFeature
). - Open a Pull Request against the
main
branch of the original repository.
- Please try to follow the existing coding style and include unit tests for new or modified functionality.
License
Distributed under the MIT License. See the LICENSE
file in the repository for more information.
Contact
Project link: https://github.com/muhirwanto-dev/scarecrow/tree/main/src/Scarecrow.WebApi
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.