Skip to content

Commit

Permalink
Merge pull request #4 from loadsmart/add-readme
Browse files Browse the repository at this point in the history
Write README on how to use
  • Loading branch information
marlontrapp authored Jul 30, 2021
2 parents 875479b + b106b04 commit c1d8f19
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 2 deletions.
58 changes: 57 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,60 @@ Frontend Settings
Abstract
--------

Dynamic settings and feature flags for the frontend.
This project provides an API that expose settings and feature flags for the frontend.

It uses `django-drf` to create an endpoint to expose flags and settings configured in `django-waffle` and `django-constance`



Usage
-----

Requirements
Python (3.6, 3.7, 3.8, 3.9)
Django (2.2, 3.0, 3.1, 3.2)

Installation
~~~~~~~~~~~~
Install using pip:

.. code::
pip install django-frontend-settings
Add 'frontend-settings' to your INSTALLED_APPS setting.

.. code:: python
INSTALLED_APPS = [
...
'frontend-settings',
]
Expose the view in your urls:

.. code:: python
from frontend_settings.views import settings as frontend_settings_view
url(r"^frontend-settings/", frontend_settings_view, name="frontend-settings"),
Then your flags from waffle and setting from constance should be returned on a get in this route:


.. code::
$ curl 'http://localhost:8000/frontend-settings/'
{"data":{"flags":{"MY_FEATURE_FLAG":true},"settings":{}}}
In that case I had `FRONTEND_MY_FEATURE_FLAG` flag in waffle.
The default prefix for flags is `FRONTEND_`, if you like to change it you can do by changing the following config on settings.py:

.. code:: python
FRONTEND_SETTINGS = {
"WAFFLE_FLAG_PREFIX": "FRONTEND_", # Prefix used to filter out the flag that should be exposed in the endpoint
"CONSTANCE_KEY": "FRONTEND_SETTINGS", # Name of the settings in constance
}
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
setup_requires=["setuptools_scm"],
url='https://github.com/loadsmart/django-frontend-settings',
license='MIT',
description='Dynamic settings & feature flags for the fronted.',
description='Expose feature flags and settings from django waffle and django constance in an endpoint.',
long_description=open('README.rst', 'r', encoding='utf-8').read(),
author='Loadsmart',
author_email='[email protected]',
Expand Down

0 comments on commit c1d8f19

Please sign in to comment.