Skip to content

Cookie based dev feature toggles for Phoenix apps

Notifications You must be signed in to change notification settings

dockup/laboratory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laboratory

An elixir plug that allows developers to turn on/off feature switches using cookies in their Plug-based web apps.

Usage

First, add :laboratory to your app's mix.exs file. Next, add the features that need to be toggled inside config/config.exs:

config :laboratory,
  features: [
    {:homepage_redesign, "Homepage Redesign", "This turns on the shiny new homepage design!"},
    {:feature_id_in_cookie, "Feature name", "Feature description"}
    etc ..
  ]

Now, mount Laboratory.Router at an endpoint in your router:

# In phoenix app's web/router.ex

scope "/" do
  # Other routes

  forward "/lab", Laboratory.Router
end

If not using phoenix framework,

# In your app's plug router

forward "/lab", to: Laboratory.Router

Now you can visit http://localhost:4000/lab to enable/disable the features you want to test.

If you are the one who's developing the feature with id :homepage_redesign, you can use the condition if Laboratory.enabled?(conn, :homepage_redesign) in your code for switching the feature on/off.

About

Cookie based dev feature toggles for Phoenix apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published