All Projects → ff4j → Ff4j

ff4j / Ff4j

Feature Flags for Java made easy

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Ff4j

Flipper
🐬 Beautiful, performant feature flags for Ruby.
Stars: ✭ 2,732 (+201.55%)
Mutual labels:  feature
zAnalysis
zAnalysis是基于Pascal语言编写的大型统计学开源库
Stars: ✭ 52 (-94.26%)
Mutual labels:  feature
nuxt-feature-toggle
The nuxt feature toggle module
Stars: ✭ 78 (-91.39%)
Mutual labels:  feature
FeatureSelection
Feature Selection in R using glmnet-lasso, xgboost and ranger
Stars: ✭ 48 (-94.7%)
Mutual labels:  feature
ld-scheduler
Schedule Launch Darkly flags on or off
Stars: ✭ 14 (-98.45%)
Mutual labels:  feature
unleash-client-ruby
Unleash client SDK for Ruby
Stars: ✭ 43 (-95.25%)
Mutual labels:  feature
Parameters
📊 Computation and processing of models' parameters
Stars: ✭ 181 (-80.02%)
Mutual labels:  feature
Qubes Issues
The Qubes OS Project issue tracker
Stars: ✭ 384 (-57.62%)
Mutual labels:  feature
ld-redux
A library to integrate launch darkly with react redux
Stars: ✭ 33 (-96.36%)
Mutual labels:  feature
mobileRiskUser
基于移动网络通讯行为的风险用户识别 (15th/624)
Stars: ✭ 29 (-96.8%)
Mutual labels:  feature
ASV
[CVPR16] Accumulated Stability Voting: A Robust Descriptor from Descriptors of Multiple Scales
Stars: ✭ 26 (-97.13%)
Mutual labels:  feature
ethzasl brisk
Brisk. The feature.
Stars: ✭ 18 (-98.01%)
Mutual labels:  feature
DeepCD
[ICCV17] DeepCD: Learning Deep Complementary Descriptors for Patch Representations
Stars: ✭ 39 (-95.7%)
Mutual labels:  feature
ALG-QiPai
棋牌类算法(功能实现)
Stars: ✭ 27 (-97.02%)
Mutual labels:  feature
v-oogle
Google.com, reVued. 🔎
Stars: ✭ 40 (-95.58%)
Mutual labels:  feature
Tableplus
TablePlus macOS issue tracker
Stars: ✭ 2,554 (+181.9%)
Mutual labels:  feature
unleash-client-java
Unleash client SDK for Java
Stars: ✭ 86 (-90.51%)
Mutual labels:  feature
Gms Feature Matcher
GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence (CVPR 17 & IJCV 20)
Stars: ✭ 797 (-12.03%)
Mutual labels:  feature
Unleash
Unleash is the open source feature toggle service.
Stars: ✭ 4,679 (+416.45%)
Mutual labels:  feature
jest-launchdarkly-mock
Easily unit test LaunchDarkly feature flagged components with jest
Stars: ✭ 14 (-98.45%)
Mutual labels:  feature

✨✨✨ FF4J - Feature Flipping for Java ✨✨✨

Build Status Backers on Open Collective Sponsors on Open Collective Maven Central Coverage Status

Codacy Badge Join the chat at https://gitter.im/ff4j/ff4j License Apache2 SourceSpy Dashboard

FF4j, is an implementation of the Feature Toggle pattern.

🤘Features

  • Feature Toggle: Enable. and disable features at runtime - no deployments. In your code implement multiple paths protected by dynamic predicates (if/then/else).

  • Role-based Toggling: Enable features not only with flag values but also drive access with roles and groups (Canary Release). Different frameworks supported starting by Spring Security.

  • Strategy-based Toggling: Implement custom predicates (Strategy Pattern) to evaluate if a feature is enabled. Some are provided out of the box: White/Black lists ,Time based, Expression based. Connect external source like a Drools rule engine.

  • AOP-driven Toggling: Keep your code clean and readable: Avoid nested if statements but use annotations. Thanks to Spring AOP target implementation is pick at runtime, and thus driven by feature statuses.

  • Features Monitoring: For each features execution, ff4j evaluates the predicate therefore it's possible to collect and record events, metrics to compute nice dashboards or draw curves for features usage over time.

  • Audit Trail: Each action (create, update, delete, toggles) can be traced and saved in the audit trail for troubleshooting. With permissions management (AuthorizationManager) it's possible to identify users.

  • Web Console: Administrate FF4j (including features and properties) with the web UI. Packaged as a servlet in the library you will expose it in your backend applications. Almost 10 languages available.

  • Wide choice of Databases Our proud: we support 20+ databases technologies to store your features, properties and events. Same business model, multiple implementations. Thanks to extension points it's easy to build your own.

  • Spring Boot Starter Import ff4j-spring-boot-starter dependency in your microservices to get the web console and rest api working immediately. (To be used for the backend app. Now compliant with Spring Boot 2x: 👉 SAMPLES

  • REST Api Operate FF4j through a WEB API. This is the way to go to use ff4j with others languages, specially javascript frontends.(also: leverage on FeatureStoreHttp to avoid microservices to directly connect to the DB.

  • Properties (CMDB) Store not only feature statuses but any property value.. Create properties you can change at runtime . It is integrated with most used frameworks like Spring, Archaius, commons-config or Consul.

  • (Distributed) Cache Evaluating predicates may put pressure on DB (high hit ratio). ff4j provides local and distributed caches to help. (edit feature also evict cache). Leveraging JSR-107 it supports most of cache solutions.

  • Command Line Interface To automate things or because web ports may be blocked (you know, production...) you can work through SSH using our Command Line Interface (cli), our Shell #devOps. It will interact directly with storages.

  • JMX and MBeans Limited set of operations can be performed through JMX. ff4j exposes some Mbeans to read metrics or toggle features from external tools (Nagios...). Not all applications are web based.(batches, shell, standalone...)

More information can be found at ff4j.org or Reference Documentation in the wiki.

🔨 Getting Started

Check the Getting started here

👀 Screenshot

Home Page

Features

Monitoring

👤Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].