First understanding

Bipolar is a project that offers feature toggle pattern under a different perspective to the existing options - it is language-agnostic, under a micro-service-oriented approach.

That means it doesn’t matters if your project is written in Python, Ruby, Java or any other, it doesn’t mean if you have many different components using different frameworks, etc. all is managed in one single point, the Bipolar Server.

Basic flow

Quick flow chart on requests from consumer (your app) to Bipolar API:

https://raw.githubusercontent.com/marinho/bipolar-server/master/docs/images/Flow1.png

How the applications request current permissions state to Bipolar

https://raw.githubusercontent.com/marinho/bipolar-server/master/docs/images/Flow2.png

The other way around: when you change features and/or qualifiers and their respective permissions in Bipolar Server.

Basic entities

https://raw.githubusercontent.com/marinho/bipolar-server/master/docs/images/Entities.png