This week’s featured open-source project is Bullet Train, which enables developers to manage feature flags across web, mobile, and server side applications.
The application consists of three components: the Server-Side REST API, the Front End Administration Web Interface, and Client Libraries.
The Server Side API is written in Python and is based on Django and the Django Rest Framework.
The application can also be run locally using Docker Compose if required, however, it’s beneficial to run locally using the above steps as it gives you hot reloading, according to the developers behind Bullet Train.
Bullet Train aims to deliver continuous integration, help get builds out faster, and control who has access to new features. Rather than just switching features on and off, organizations can configure them for individual segments, users and development environments.
First, users can create a feature branch in Git and a corresponding feature flag in Bullet Train. Next, once the code is written, developers can place it behind a feature flag and deploy it straight to production. After developers test the widget using their own account, they can create a segment that includes all of the company team members.
The next step includes percentage rollouts so that the teams can be sure that there are no unexpected issues when deploying the feature to everyone. Once all is well, they can edit the code to remove the optional display of the widget, and delete the flag from Bullet Train.