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.
The packages follows semantic versioning and uses Nerdbank.GitVersioning under the hood to automate versioning based on Git commits.
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
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.
You can find the meta-package that references all ForEvolve.*
projects at the following repo: ForEvolve/MetaPackages.
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.
This project aims at adding features over the Azure SDK like Object (Blob), Queue, Table and KeyVault repositories.
See ForEvolve.Azure for more information.
This project contains shared models.
See ForEvolve.Contracts for more information.
This project stand as the root of all projects. For now, it only contains the ForEvolveException
class.
See ForEvolve.Core for more information.
This project adds EF Core utilities, like easy data seeding, and value conversion.
See ForEvolve.EntityFrameworkCore for more information.
Allows consumers to easily convert strings to Markdown using the IMarkdownConverter
interface.
See ForEvolve.Markdown for more information.
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.
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.
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.
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.
Also, please read the Contributor Covenant Code of Conduct that applies to all ForEvolve repositories.
- Add the
app.Seed<MyDbContext>();
extension method to help seed the database without writing boilerplate code.
- Original version after the switch to GitVersioning