/Esquio

Esquio is a Feature Toggle Library for .NET Developers.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Esquio Build

Esquio Build

Documentation Status

About Esquio

Esquio is a Feature Toggles (aka Feature Flags) and A/B testing framework for .NET Core 3.0. Feature Toggle is a powerful technique that allows developers to deliver new functionality to users without changing code. Provides an alternative to to mantain multiples branches (aka feature branches), so any feature can be tested even before it is completed and ready for the release. We can release a version of our product with non production ready features. These non production ready features are hidden (toggled) for the broader set of users but can be enabled to any subset of testing or internal users we want them to try the features. We can use feature toggles to enable or disable features during run time.

Esquio is built with the possibility of using it not only in ASP.NET Core 3.0 in mind but making it possible to use also in other .NET Core 3.0 projects like workers, web jobs, class libraries, ... almost any kind of .NET Core 3.0 project. For the Esquio team, this is not only about using a library, but using a full Feature Toggles framework for all of our projects, and as a delivery mechanism.

We believe Feature Toggling is, somekind, a way of delivering software, making it a first class citizen in your DevOps processes, therefore we are working hard towards integrating it, via extension and pipelines tasks, with Azure DevOps, so you can use Esquio Toggles directly in your releases and delivery flows. Having a full toggle delivery experience.

Esquio Azure DevOps extensions are built in top of the Esquio API, in the case you need to integrate Esquio with any other tool, you can always use this API to handle the toggles.

Additionally, if you need it, Esquio has a full UI developed, so you can be able to handle all your Toggles in it, making it fairly simple to use and manage.

Maintained by awesome community contributors.

For project documentation, please visit readthedocs.

How to build

Esquio is built against the latest NET Core 3.

How to run migrations

For SqlServer

dotnet ef migrations add MigrationName --context StoreDbContext --project src/Esquio.UI.Api --output-dir Infrastructure/Data/Migrations/SqlServer

For Postgres

dotnet ef migrations add MigrationName --context NpgSqlContext --project src/Esquio.UI.Api --output-dir Infrastructure/Data/Migrations/NpgSql

For MySql

dotnet ef migrations add MigrationName --context MySqlContext --project src/Esquio.UI.Api --output-dir Infrastructure/Data/Migrations/MySql

Acknowledgements

Esquio is built using the following great open source projects and free services:

..and last but not least a big thanks to all our contributors!

Code of conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Videos

ASP.NET Community Standup - May 12th 2020 - Esquio Feature Toggles

ASP.NET Community Standup - May 12th 2020 - Esquio Feature Toggles

MeetUp | NetCore y Feature Flags(Spanish)

MeetUp | NetCore y Feature Flags(Spanish)