Demo: A simple Node.js app with Feature Flags

Wed Sep 01 2021

Using Feature Flags/Gates in your app is simple and straightforward. This article will show you a step-by-step process of creating a simple Node.js app that responds to feature gate changes in almost-real-time.

This article assumes you have npm installed on your dev environment. More detailed documentation is available here.

If you don’t already have an account, create one for free at https://www.statsig.com/ and create a new Feature Gate named “First App Test”

creating a feature gate example

The first step to creating the Node app in your command line terminal is:

$ mkdir statsigNodeApp && cd statsigNodeApp $ npm init --yes

This will create a package.json file in the statsigNodeApp directory.

Next, let’s install statsig-node SDK.

$ npm install statsig-node

Now, we’re all set to write our main app’s logic. Here’s the code that checks the gate we just created every second and writes out whether it passes or not. Copy and paste this into a file named index.js.

https://medium.com/media/153cc5e35683db3d164c4e419232f32b/href

One last thing is you need to replace the ‘secret-API-KEY’ with your own API key, which you can find in your project’s settings:

running the feature gate example

With that replaced, you are ready to run this app by issuing this command:

$ node index.js

You will see something like this in the output:

node index failed example

This means that the flag is evaluating to ‘false’ all the time. Let’s go ahead and create a new rule that turns on this feature for everyone.

adding a new rule

And let’s make sure to hit that ‘Save Changes’ button.

make sure to hit the save changes button in statsig lol

Now, if we had kept that Node App running, you’ll notice that it has started saying ‘passed’ automatically, since now this feature flag is turned on to everyone.

automatic passing in node

You can now try turning off this feature in the console.

turning on the feature in the console

Which will immediately make the feature fail the check and the app will go from ‘passed’ to ‘failed’ to reflect the change.

pass to failed in the node console

And that’s it!

Hope this was helpful in getting you started and on your way to creating more complex features! As always we’re here to help out. You can join our Slack community here: https://statsig.com/community.


Try Statsig Today

Get started for free. Add your whole team!
We use cookies to ensure you get the best experience on our website.
Privacy Policy