ForEvolve Framework (or toolbox)
This project is my personal toolbox, where I add utility classes that I was tired of copying from project to project, that I needed to facilitate my life or for any other reason toward reusability.
Examples of features are Azure table repository, Azure blob repositories (JSON object and files), email services, EF Core data Seeders, EF Core value converters (object
to JSON, Dictionary<string, object>
to JSON), markdown to HTML, HTML to pdf, Razor View to HTML string service, and more.
Versioning
The packages follows semantic versioning and uses Nerdbank.GitVersioning under the hood to automate versioning based on Git commits.
Packages
Packages are available on NuGet https://www.nuget.org/profiles/ForEvolve.
For the pre-release packages, use the ForEvolve/Toolbox feedz.io packages source.
List of packages
The projects
In this section are quick descriptions of assemblies and links to their README file. This is until I find the time to build a documentation website.
ForEvolve
You can find the meta-package that references all ForEvolve.*
projects at the following repo: ForEvolve/MetaPackages.
ForEvolve.AspNetCore
This project aims at adding features over Asp.Net Core.
Example: myObject.ToJsonHttpContent()
, myObject.ToJson()
, myHttpContent.ReadAsJsonObjectAsync<MyObjectType>()
, anyString.ToObject<MyObjectType>()
, IViewRendererService
, IEmailSenderService
, IHttpHeaderValueAccessor
, IUserIdAccessor
, some base middlewares and more.
See ForEvolve.AspNetCore for more information.
ForEvolve.Azure
This project aims at adding features over the Azure SDK like Object (Blob), Queue, Table and KeyVault repositories.
See ForEvolve.Azure for more information.
ForEvolve.Contracts
This project contains shared models.
See ForEvolve.Contracts for more information.
ForEvolve.Core
This project stand as the root of all projects. For now, it only contains the ForEvolveException
class.
See ForEvolve.Core for more information.
ForEvolve.Markdown
Allows consumers to easily convert strings to Markdown using the IMarkdownConverter
interface.
See ForEvolve.Markdown for more information.
ForEvolve.Markdown.Abstractions
This is the abstractions library. Only use this if you want to create your own custom implementation of the IMarkdownConverter
.
See the ForEvolve.Markdown
project for more info.
ForEvolve.Pdf
This library contains implementations of the ForEvolve.Pdf.Abstractions.IHtmlToPdfConverter
interface, allowing convertion of HTML to a PDF.
See the ForEvolve.Pdf
project for more info.
ForEvolve.Pdf.Abstractions
This is the abstractions library. Only use this if you want to create your own custom implementation of the IHtmlToPdfConverter
.
See the ForEvolve.Pdf.Abstractions
project for more info.
How to contribute?
If you would like to contribute to the Framework, first, thank you for your interest and please read Contributing to ForEvolve open source projects for more information.
Contributor Covenant Code of Conduct
Also, please read the Contributor Covenant Code of Conduct that applies to all ForEvolve repositories.