Giter Site home page Giter Site logo

rupurt / featurehub Goto Github PK

View Code? Open in Web Editor NEW

This project forked from featurehub-io/featurehub

0.0 1.0 0.0 12.15 MB

FeatureHub - cloud native feature flags, A/B testing and remote configuration service. Real-time streaming feature updates. Provided with Java, JavaScript, Python, Go, .Net, Ruby, Android and Flutter SDKs.

Home Page: https://www.featurehub.io

License: Other

Shell 0.64% JavaScript 0.11% Java 24.32% Groovy 14.13% C# 0.07% Kotlin 15.16% Dart 39.68% TypeScript 1.50% HTML 0.03% Dockerfile 0.18% Gherkin 4.18%

featurehub's Introduction

Build backend
Feature Hub

FeatureHub is a Cloud Native platform to help software teams manage their features, from feature flags (also known as feature toggles) to A/B experiments and remote or centralised configuration. This is the primary source code repository for FeatureHub.

Install with Docker (evaluation mode)

$ docker run -p 8085:8085 --user 999:999 -v $HOME/party:/db featurehub/party-server:latest

Once installed, head to http://localhost:8085 to see FeatureHub Admin Console in action

FeatureHub console demo

Connect to FeatureHub in your app via SDK

  1. Create an application, an environment and a feature from the Admin Console

  2. Create and copy the API Key (client or server eval) from the Admin Console on the API Keys page.

  3. Create FeatureHub config and start using feature flags in your app (see Typescript example below). For more SDKs and examples please see here

import {
  EdgeFeatureHubConfig,
} from 'featurehub-javascript-client-sdk';

const edgeUrl = 'http://localhost:8085/';
const apiKey = 'default/3f7a1a34-642b-4054-a82f-1ca2d14633ed/aH0l9TDXzauYq6rKQzVUPwbzmzGRqe*oPqyYqhUlVC50RxAzSmx';

const fhConfig = new EdgeFeatureHubConfig(edgeUrl, apiKey);

fhConfig.init();
const fhClient = await fhConfig.newContext().build();
if(fhClient.getFlag('FEATURE_KEY')) {
  // do something
}
else {
  //do something else
}

FeatureHub Users

Ruby NewLogo Vertical lovebonito logo Whistic Logo

Are you also using FeatureHub?

We are looking for companies that have successfully adopted FeatureHub to help us understand our customer base. Feel free to let us know by adding your company logo above (please raise a PR or contact us through our website).

Why FeatureHub?

Free

  • Unlimited users

  • Unlimited features

  • Unlimited clients requesting features

  • Unlimited Applications and Environments

  • Unlimited scalability. FeatureHub is the only open source platform that can scale for large enterprises needs

Feature flags, A/B testing, experimentation and analytics support

  • Choice of how to run your experiment - feature flag, number, string or remote configuration

  • Split targeting strategies support: percentage rollout, targeting by country, device, platform, version or any custom attribute specific to your application.

  • Integration with analytics so you can see how your experiments perform, with Google Analytics support out of the box

Easy to use

  • Control features from an easy to use console

  • View how your features are setup across each environment from the main console

  • Environments promotion order - to help you see and order features by environment

  • With "smart lock" only enable feature state updates when they are ready

  • Use handy admin functions, like applications, environments and user management

Enterprise ready

  • Run on your own infrastructure (self-hosted)

  • Social login support - Google, Microsoft, GitHub, Keycloak

  • Access control levels to allow different teams/groups permissions.

  • Multiple portfolios (department) support

Best development experience

  • Easy to set up, Cloud Native - docker containers available

  • Easy to integrate with test automation - API to control feature states from the tests is available

  • Support for feature flags, numbers, strings and Json structure (remote configuration)

  • Easy to log events with analytics with attached feature state

  • Documentation and tutorials available

Documentation

Full documentation can be found at docs.featurehub.io

Getting started

If you are just curious to see how FeatureHub works and would like to play with it there is a simple way of doing it, please follow instructions here.

Once you have decided to start using FeatureHub in your team, there are also several installation options depending on your use case, please read about these options here.

Note: We have a separate install repository with configured docker images

We selectively take cuts of the main repository and build them into docker image sets. We then update install repository with the latest images and issue tags on that repository.

Coming soon

  • Feature auditing

  • SDK’s : Ruby

  • Yaml remote configuration support

For more details please refer to Roadmap tickets

Contributing

FeatureHub is an open source project, and we love to receive contributions from our community! There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into FeatureHub itself.

Further information for contributors

If you have reviewed the Architecture section of the FeatureHub documentation you will notice there are several components. FeatureHub is designed this way to allow to scale from a single application option to large organisations serving billions of requests for features per day.

Where to get help?

If you cannot find an answer in our documentation please join our Slack community Anyways Labs

You can also start a discussion in GitHub Discussions here

Or email our community supporters at [email protected]

License

FeatureHub is operating under Apache 2.0 license. Please refer to the full license here.

featurehub's People

Contributors

rvowles avatar irinasouth avatar igorgatis avatar chrusty avatar alex-deng-featurehub avatar vidya-bhargav avatar dependabot[bot] avatar tiffanyyuliu avatar nashjain avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.