Skip to content
forked from featbit/featbit

A feature flags + remote config service written in C# .NET - scalable & fast

License

Notifications You must be signed in to change notification settings

SakiMia/featbit

 
 

Repository files navigation

image

Try FeatBit Online

Try FeatBit immediately with our online demo. The video below shows you how to get started quickly.

5.29.4.mp4

About FeatBit

FeatBit is an open-source feature flags management tool that empowers developers:

Ship Code Safely. Mitigate risks with Production Testing, roll out features to 1% of users initially then expanding progressively, and ensure instant error recovery without redeployment.

Targeted Experiences. Giving you control over who sees each feature and when they see it. Release features to specific target users, and continuously measure and improve your buisness.

Innovate Faster. Decouples code deployments from feature releases. Deploy at will, and release any feature immediately upon request from the boss.

Host Anywhere. FeatBit allows you to host your feature flags service wherever your business needs it, ensuring compliance and data protection.

Born for developers. Use simple if/else statements to control and release features, eliminating complex DevOps tasks. This enables developers to directly drive business value.

Get started in 3 steps

1. Start FeatBit

To self-host FeatBit with Docker, Run this script:

git clone https://github.com/featbit/featbit
cd featbit
docker compose up -d

Once all containers have started, you can access FeatBit's portal at http://localhost:8081 and log in with the default credentials:

Note By default, FeatBit's portal is only accessible from the local machine where Docker Compose is running. If you want to make it publicly accessible, refer to the FAQ for instructions.

2. Connect an SDK

Find your preferred SDK in our list of official SDKs and import it into your project. Follow the setup guides for your specific SDK.

You can also learn how to connect an SDK in the "Getting Started" section after logging in to the Portal for the first time.

image

3. Check a feature flag

To check the state of a feature flag in your code, you just need a simple function call to verify the expected value. Here's how it might look in C#:

var user = FbUser.Builder("tester-id").Name("tester").Build();
if (featbit.BoolVariation("user-new-algorithm", user, defaultValue: false))
{
    // run new algorithm
}
else
{
    // run old algorithm
}

Configure and run FeatBit anywhere

The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing FeatBit for your own environment, check out the Installation Documentation, K8s Manifest Files and FeatBit Agent Documentation for getting started with self-managed deployments, FeatBit configuration options, or running FeatBit locally via docker.

Documentation & Community

Official Documentation

Join our Online Slack Support & Community

Official Website

Features

FeatBit offers a range of features including:

  • SDKs for JavaScript, C#, Java, Python, and Go, with more to come.

  • Managing Feature flags: Create, manage, and filter feature flags.

  • Targeting users with flags: Assign individual users to specific flag variations.

  • Reusable Segments: Include or exclude users from a segment based on user attributes.

  • Insights: Gain insights into feature usage during the rollout.

  • IAM: Define access levels to projects, environments, or teams to enforce your policies.

  • Experimentation: Run feature-level A/B tests anywhere in your stack to make data-driven decisions.

  • Audit Log: Keep track of feature flag and segment changes.

  • Feature Workflow: Control your use of feature flags by creating complex automated workflows within FeatBit.

  • Web APIs, automate your workflow with Web APIs.

  • Platform-level, manage your flags in multiple projects and environments.

  • Pro Solution for Big Data, a professional version tailored for teams and companies to accommodate in excess of millions of daily online users with feature usage, custom events, and A/B testing insights.

  • Relay Proxy/Agent: Host a feature flag service in your customers' private environments or reduce network latency for your end users.

  • Integrations (experimental features): Export data to third-party system monitoring services, data analytics services, workflow tools, or any other tools that can optimize your entire workflow.

  • ChatGPT Tech Debt Reduction (experimental features): Utilize ChatGPT4 and FeatBit's VSCode extension to minimize technical debt associated with feature flagging.

featbit-readme-new-2

Contribute

Building FeatBit is a collaborative effort, and we owe much gratitude to many intelligent and talented individuals.

Join Slack to get your assignment.

Contributors

cosmos-explorer
cosmos-explorer

📓 💻
deleteLater
deleteLater

💻
s2002a
s2002a

💻
Comiscience
Comiscience

📖💻
Sanket
Sanket

💻🥇
sagar110599
sagar110599

💻🥇
Dave
Dave

💻🥇
Kabir Hasan
Kabir Hasan

💻🥇
MikeG
MikeG

💻🥇
夏宇航
夏宇航

💻🥇
Exilon
Exilon

💻
Francesco Moro
Francesco Moro

💻
rbrennan
rbrennan

💻🥇
Mücahit Çoban
Mücahit Çoban

💻
Shubham Chauhan
Shubham Chauhan

💻
defqd
defqd

💻
Bence Eros
Bence Eros

💻
Bingler Lee
Bingler Lee

💻

License

FeatBit is under the MIT license. See the LICENSE file for details.

About

A feature flags + remote config service written in C# .NET - scalable & fast

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 34.1%
  • TypeScript 32.6%
  • HTML 18.4%
  • Less 6.5%
  • Python 4.9%
  • JavaScript 2.5%
  • Other 1.0%