Coder Social home page Coder Social logo

community-content's Introduction

What is Unleash?

Unleash is a powerful open source solution for feature management. It streamlines your development workflow, accelerates software delivery, and empowers teams to control how and when they roll out new features to end users. With Unleash, you can deploy code to production in smaller, more manageable releases at your own pace.

Feature flags in Unleash let you test your code with real production data, reducing the risk of negatively impacting your users' experience. It also enables your team to work on multiple features simultaneously without the need for separate feature branches.

Unleash is the most popular open source solution for feature flagging on GitHub. It supports 15 official client and server SDKs and over 15 community SDKs. You can even create your own SDK if you wish. Unleash is compatible with any language and framework.


Getting Started with Unleash

1. Setting Up Unleash

To get started with Unleash, you need git and docker installed on your machine.

Execute the following commands:

git clone [email protected]:Unleash/unleash.git
cd unleash
docker compose up -d

Then point your browser to localhost:4242 and log in using:

  • username: admin
  • password: unleash4all

If you'd rather run the source code in this repo directly via Node.js, see the step-by-step instructions to get up and running in the contributing guide.

2. Connect your SDK

Find your preferred SDK in our list of official SDKs and import it into your project. Follow the setup guides for your specific SDK.

If you use the docker compose file from the previous step, here's the configuration details you'll need to get going:

  • For front-end SDKs, use:
    • URL: http://localhost:4242/api/frontend/
    • clientKey: default:development.unleash-insecure-frontend-api-token
  • For server-side SDKs, use:
    • Unleash API URL: http://localhost:4242/api/
    • API token: default:development.unleash-insecure-api-token

If you use a different setup, your configuration details will most likely also be different.

Check a feature flag

Checking the state of a feature flag in your code is easy! The syntax will vary depending on your language, but all you need is a simple function call to check whether a flag is available. Here's how it might look in Java:

if (unleash.isEnabled("AwesomeFeature")) {
  // do new, flashy thing
} else {
  // do old, boring stuff
}

Run Unleash on a service?

If you don't want to run Unleash locally, we also provide easy deployment setups for Heroku and Digital Ocean:

Deploy to Heroku Deploy to DigitalOcean

Configure and run Unleash anywhere

The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for getting started with self-managed deployments, Unleash configuration options, or running Unleash locally via docker.


Online demo

Try out the Unleash online demo.

The Unleash online demo


Community and help — sharing is caring

We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help.

Join Unleash on Slack

💬 Join Unleash on Slack if you want ask open questions about Unleash, feature toggling or discuss these topics in general.

💻 Create a GitHub issue if you have found a bug or have ideas on how to improve Unleash.

📚 Visit the documentation for more in-depth descriptions, how-to guides, and more.

📖 Learn more about the principles of building and scaling feature flag solutions.


Contribute to Unleash

Unleash is the largest open source feature flag solution on GitHub. Building Unleash is a collaborative effort, and we owe a lot of gratitude to many smart and talented individuals. Building it together with the community ensures that we build a product that solves real problems for real people. We'd love to have your help too: Please feel free to open issues or provide pull requests.

Check out the CONTRIBUTING.md file for contribution guidelines and the Unleash developer guide for tips on environment setup, running the tests, and running Unleash from source.

Contributors

The Unleash contributors


Features our users love

Flexibility and adaptability

Security and performance

  • Privacy by design (GDPR and Schrems II). End-user data never leaves your application.
  • Audit logs
  • Enforce OWASP's secure headers via the strict HTTPS-only mode
  • Flexible hosting options: host it on premise or in the cloud (any cloud)
  • Scale the Unleash Proxy independently of the Unleash server to support any number of front-end clients without overloading your Unleash instance

Looking for more features?

If you're looking for one of the following features, please take a look at our Pro and Enterprise plans:


Architecture

Read more in the system overview section of the Unleash documentation.


Unleash SDKs

To connect your application to Unleash you'll need to use a client SDK for your programming language.

Official server-side SDKs:

Official front-end SDKs:

The front-end SDKs connects via the Unleash Proxy in order to ensure privacy, scalability and security.

Community SDKs:

If none of the official SDKs fit your need, there's also a number of community-developed SDKs where you might find an implementation for your preferred language (such as Elixir, Dart, Clojure, and more).


Users of Unleash

Unleash is trusted by thousands of companies all over the world.

Proud Open-Source users: (send us a message if you want to add your logo here)

The Unleash logo encircled by logos for Finn.no, nav (the Norwegian Labour and Welfare Administration), Budgets, Otovo, and Amedia. The encircling logos are all connected to the Unleash logo.


Migration guides

Unleash has evolved significantly over the past few years, and we know how hard it can be to keep software up to date. If you're using the current major version, upgrading shouldn't be an issue. If you're on a previous major version, check out the Unleash migration guide!


Want to know more about Unleash?

Videos and podcasts

Articles and more

community-content's People

Contributors

pransh15 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

community-content's Issues

Feature Flagging with Flask

Request Details

Here's the topic/article I want to write about:
Feature Flagging with Flask

Here's a rough outline:

  1. Introduction
    1.1 Introduction to Unleash and Flask

  2. Setting Up the Environment
    2.1 Installing Flask and Flask and Flask-Unleash package
    2.2 Setup flask app
    2.3 Build a sample flask app with the provided boilerplate code

  3. Set Up Unleash

  4. Implementing Feature Flags with Unleash
    4.1Creating feature flags using Unleash’s dashboard
    4.2 Managing feature toggles using REST APIs

  5. Conclusion
    5.1 Recap of what was covered in the tutorial
    5.2 Next steps for further exploration

What do you all think?
❤️ I love it!
🚀 I can help you!

5 ways to experiment with your Product using Unleash

Request Details

Idea

5 ways to experiment with your Product using Unleash

Description

Featured article about practical ways our users have experimented using Unleash.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

Lessons Learned from a Failed Release

Request Details

Idea

Lessons Learned from a Failed Release

Description

A story about how a team's release went wrong and the lessons learned from the experience, including how better release engineering practices could have prevented the issues.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

Beginner's Guide to Feature Flags using Next.js

Request Details

Here's the topic/article I want to write about

Beginner's Guide to Feature Flags using Next.js

Here's a rough outline

What do you all think?
❤️ I love it!
🚀 I can help you!

Thank you for submitting your article proposal.

My experience integrating / using Unleash Edge

Request Details

Here's the topic/article I want to write about:

My experience integrating / using Unleash Edge (for Codeium)

Here's a rough outline:

  • Brief introduction, high level overview of Codeium as a product (website)
    • AI-powered code assistant
    • Code autocomplete
  • Why is Unleash needed?
    • A/B experiments to test new features
    • As an example, we recently released our fill-in-the-middle model (blog post) after running experiments and seeing improvements in overall performance
  • Architecture / How is Unleash deployed / integrated?
    • Helm deployment in K8s
    • On user machines
      • Node SDK in extension, Go SDK in language server (binary run on the side)
    • On our servers
      • Go SDK in API server that handles requests
  • What problems did we see?
    • High load on Postgres (> 300 transactions / second)
    • Tens of thousands of instances registered
  • What was the cause?
    • Clients all hitting the Unleash server directly
    • Metrics were being written through from each client causing high load on the database
  • How did Edge solve the problems?
    • Overview of Edge and how it helps here
      • Intermediate / proxy between SDKs and Unleash server
      • Handles 10s - 100s of thousands of concurrent requests
      • Batches metric writes
      • Exposes same API as Unleash server, SDKs don’t need to know they’re talking to Edge
    • Edge deployment process / update to existing code (very simple)
      • Helm chart
      • Change DNS record to point from Unleash server to Edge, immediately moves all traffic to hit Edge without even having to rollout an update to users
    • Result (> 100x reduction in transactions / second in Postgres)

What do you all think?
❤️ I love it!
🚀 I can help you!

How I integrated feature flags in my Flutter app

Request Details

Here's the topic/article I want to write about:

How I integrated feature flags in my Flutter app

Here's a rough outline:

  1. What is Feature Flagging (Boilerplate, with links)
  2. Why did I need Feature Flags?
  3. Starting with Feature Flagging in Flutter using Unleash
    3.1. How to setup Unleash
    3.2 Guide to Project, creating flag, enabling different strategies
    3.3 A small demo of Flutter Unleash SDK with code explanation

What do you all think?
❤️ I love it!
🚀 I can help you!

Thank you for submitting your article proposal.

docs: How to Implement Dependent Feature Flags in React using Unleash

Outline 👇🏻


How to Implement Dependent Feature Flags in React using Unleash

Some additional information

In this tutorial, you will learn how to use dependent feature flags in a React application that'll offer Unified Payments Interface (UPI) as the payment method only if Instant Payment is enabled in the first place for the user. We will use the @unleash/proxy-client-react package, which provides easy integration of Unleash feature flags in a React application.

What we’ll be using

Mention:

  • Tech (It's purpose)
  • Tech (It's purpose)
  • Tech (It's purpose)

What you’ll need

  • Tech (It's purpose)
  • Tech (It's purpose)

Setting up the project

To set up, just clone the app repo and follow this tutorial to learn everything that's in it. To fork the project, run:

git clone https://github.com/rishi-raj-jain/repo-slug
# Some additional information

Scaffolding a React app

Creating a React app is as easy as a single command:

# command

Setup Unleash

  1. Run the following commands in the terminal to fetch the docker-compose.yml for creating an Unleash instance outside of your current project directory:
git clone [email protected]:Unleash/unleash.git
cd unleash
docker compose up -d

This will start Unleash in the background. Once Unleash is running, you can access it at http://localhost:4242/.

  1. Now use the default credentials to log into the instance:
Username: admin
Password: unleash4all

Create a New Feature Flag

Create a new feature flag in your Unleash instance named instant-payments.

Steps to create a new feature flag, instant-payments

Screenshots

Create a Dependent Feature Flag

Create a new feature flag in your Unleash instance named upi .

Steps to create a dependent feature flag, upi

Screenshots

Integrating Unleash in a React app

Installation

To get started with React and Unleash, you need to install @unleash/proxy-client-react package as a dependency.

You can run the following commands in your terminal to do this:

npm install @unleash/proxy-client-react

Set up Environment Variables

By default, the following values are setup in your local Unleash instance

# .env

UNLEASH_API_URL="http://localhost:4242/api"
UNLEASH_AUTHORIZATION_KEY="default:development.unleash-insecure-api-token"

Initialise Unleash SDK

Some additional information

// some code

Use Unleash SDK to fetch the dependent feature flag value

Some additional information

// some code

Scenarios

Some additional information

Screenshots

Revert: Scenarios

Some additional information

Screenshots

Using Unleash in Production

To setup Unleash for production, please follow the steps below:

  1. Self-host Unleash, or run an instance on [Unleash Cloud](https://www.getunleash.io/pricing).
  2. Get an [API key](/reference/api-tokens-and-client-keys) from the Unleash dashboard.
  3. Store the API key in your Environment Variables of your hosting, which secures it and makes it accessible in your code.

Conclusion

Some additional information

Trunk-Based Development vs Feature Branches: Which is Better?

Request Details

Idea

Trunk-Based Development vs Feature Branches: Which is Better?

Description

A comparison of trunk-based development and feature branches, including the benefits and drawbacks of each approach, and how to decide which one is right for your team.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

["SUBMIT"] Test Topic

Request Details

Here's the topic/article I want to write about:

Get the best out of Constraints and Strategies

Here's a rough outline:

  1. What are Constraints?
  2. What are Strategies?
  3. How to configure them?
  4. 5 best ways to get the best out of them.

What do you all think?
❤️ I love it!
🚀 I can help you!

Thank you for submitting your article proposal.

Why Your Team Should Adopt Trunk Driven Development

Request Details

Idea

Why Your Team Should Adopt Trunk Driven Development

Description

A story about how a team switched to Trunk Driven Development and experienced faster feedback loops, better collaboration, and increased productivity.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

Best Practices for Managing Feature Flags

Request Details

Idea

Best Practices for Managing Feature Flags

Description

Tips from your own personal experience for managing feature flags effectively, including how to avoid creating too many flags, how to organize and categorize flags, and how to avoid flag-based technical debt.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

docs: How to Implement Feature Flags in Angular using Unleash

Outline 👇🏻


How to Implement Feature Flags in Angular using Unleash

Some additional information

In this tutorial, you will learn how to use feature flags in a [Angular](https://angular.dev/) application that shows different content based on the subscription plan user has purchased (hypothetically), using Unleash. We will use the unleash-proxy-client package, which provides easy integration of Unleash feature flags in an Angular application.

What we’ll be using

Mention:

  • Tech (It's purpose)
  • Tech (It's purpose)
  • Tech (It's purpose)

What you’ll need

  • Tech (It's purpose)
  • Tech (It's purpose)

Setting up the project

To set up, just clone the app repo and follow this tutorial to learn everything that's in it. To fork the project, run:

git clone https://github.com/rishi-raj-jain/repo-slug
# Some additional information

Scaffolding an Angular app

Creating an Angular app is as easy as a single command:

# command

Setup Unleash

  1. Run the following commands in the terminal to fetch the docker-compose.yml for creating an Unleash instance:
wget getunleash.io/docker-compose.yml
docker-compose up -d

This will start Unleash in the background. Once Unleash is running, you can access it at http://localhost:4242/.

  1. Now use the default credentials to log into the instance:
Username: admin
Password: unleash4all

Create a Custom Context Field

To display different contents to the user based on their subscription plan, we'll be creating a custom constraint named subscription in Unleash. This will help us define their subscription plan, and use that flag in our app.

Steps to create a custom field

Screenshots

Create a New Feature Flag

Create a new feature flag in your Unleash instance named user-subscription.

Steps to create use the custom field subscription

Screenshots

Integrating Unleash in an Angular app

Installation

To get started with Angular and Unleash, you need to install unleash-proxy-client package as a dependency.

You can run the following commands in your terminal to do this:

npm install unleash-proxy-client

Set up Environment Variables

By default, the following values are setup in your local Unleash instance

# .env

UNLEASH_API_URL="http://localhost:4242/api"
UNLEASH_AUTHORIZATION_KEY="default:development.unleash-insecure-api-token"

Initialise Unleash SDK

Some additional information

// some code

Use Unleash SDK to fetch the feature flag value

Some additional information

// some code

Scenarios

Some additional information

Screenshots

Revert: Scenarios

Some additional information

Screenshots

Using Unleash in Production

To setup Unleash for production, please follow the steps below:

  1. Self-host Unleash, or run an instance on [Unleash Cloud](https://www.getunleash.io/pricing).
  2. Get an [API key](/reference/api-tokens-and-client-keys) from the Unleash dashboard.
  3. Store the API key in your Environment Variables of your hosting, which secures it and makes it accessible in your code.

Conclusion

Some additional information

How to Use Feature Flags for Continuous Delivery

Request Details

Idea

How to Use Feature Flags for Continuous Delivery

Description

Tips on how to use feature flags to enable continuous delivery, including how to use flags to control release velocity and manage risk.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

Why are Feature Flags important for Junior Devs?

Request Details

Here's the topic/article I want to write about:

Why are Feature Flags important for Junior Devs?

Here's a rough outline:

I. Introduction

  • Definition of feature flags in simple terms(Boilerplate, with links)
  • Importance of feature flags for Junior Devs

II. Benefits of Feature Flags for Junior Devs

  • Lowering risk in software development
  • Facilitating experimentation and innovation
  • Enabling continuous delivery and faster feedback
  • Improving collaboration between developers and other stakeholders
  • Empowering Junior Devs to make decisions

III. How to Implement Feature Flags as a Junior Dev

  • Basic concepts and terminology
  • Step-by-step guide to creating and using feature flags
  • Best practices for implementing feature flags
  • Common mistakes to avoid

IV. Real-world Examples of Feature Flags in Action

  • Examples of companies using feature flags to achieve their goals, e.g.
  1. Netflix
  2. Atlassian
  3. Etsy
  • How Junior Devs can learn from these examples

V. Conclusion

  • Recap of the importance of feature flags for Junior Devs
  • Tips for Junior Devs to continue learning and improving their feature flag skills
  • Future trends in the use of feature flags and how Junior Devs can stay up-to-date

What do you all think?
❤️ I love it!
🚀 I can help you!

Thank you for submitting your article proposal.

How do feature flags help me as a designer?

Request Details

Here's the topic/article I want to write about:

How do feature flags help me as a designer?

Here's a rough outline:

A. Introduction to feature flags
B. How does Feature Flags help designers

  1. Faster Development Cycles (With example)
  2. Improved Collaboration (With example)
  3. Reduced Risk (With example)
  4. Better UX (With example)

C. How a product designer uses Feature flags
Step 1: Scoping a Feature
Step 2: Designing Experiments
Step 3: Hiding it behind a Flag
Step 4: Testing and Experimenting on the Feature
Step 5: Deploying the Feature
Conclusion

What do you all think?
❤️ I love it!
🚀 I can help you!

Thank you for submitting your article proposal.

How I integrated feature flags in my Android app

Request Details

Here's the topic/article I want to write about:

How I integrated feature flags in my Android app

Here's a rough outline:

  1. What is Feature Flagging (Boilerplate, with links)
  2. Why did I need Feature Flags?
  3. Starting with Feature Flagging in Android using unleash-android-proxy-sdk.
    
3.1. How to setup Unleash
    

3.2 Guide to Project, creating a flag, enabling different strategies
    


3.3 A small demo of Android Unleash SDK with code explanation

What do you all think?
❤️ I love it!
🚀 I can help you!

Thank you for submitting your article proposal.

How I Experiment with our Users in Prod using Unleash

Request Details

Idea

How I Experiment with our Users in Prod using Unleash

Description

A story about practical experimentation from A to Z, from setting up Unleash with your product and drawing conclusions from it.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

How Feature Flags Helped Reduce Technical Debt

Request Details

Idea

How Feature Flags Helped Reduce Technical Debt

Description

A story about how a team used feature flags to manage technical debt, prevent code duplication, and avoid creating more technical debt.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

Why are Feature Flags important for your deployment strategy?

Request Details

Idea

Why are Feature Flags important for your deployment strategy?

Description

Write about benefits you have seen in your projects around deployment for users, locales, regions, servers, etc.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

docs: How to Implement Feature Flags in SvelteKit using Unleash

Outline 👇🏻


How to Implement Feature Flags in SvelteKit using Unleash

Some additional information

In this tutorial, you will learn how to use feature flags in a [SvelteKit](https://kit.svelte.dev/) application that shows a content in different languages based on their region, using Unleash. We will use the @unleash/proxy-client-svelte package, which provides easy integration of Unleash feature flags in a Svelte application.

What we’ll be using

Mention:

  • Tech (It's purpose)
  • Tech (It's purpose)
  • Tech (It's purpose)

What you’ll need

  • Tech (It's purpose)
  • Tech (It's purpose)

Setting up the project

To set up, just clone the app repo and follow this tutorial to learn everything that's in it. To fork the project, run:

git clone https://github.com/rishi-raj-jain/repo-slug
# Some additional information

Scaffolding a SvelteKit app

Creating an SvelteKit app is as easy as a single command:

# command

Setup Unleash

  1. Run the following commands in the terminal to fetch the docker-compose.yml for creating an Unleash instance:
wget getunleash.io/docker-compose.yml
docker-compose up -d

This will start Unleash in the background. Once Unleash is running, you can access it at http://localhost:4242/.

  1. Now use the default credentials to log into the instance:
Username: admin
Password: unleash4all

Create a Custom Context Field

To display different contents to the user based on the region, we'll be creating a custom constraint named region in Unleash. This will help us define the country values for which the translation would be possible and use that flag in our app.

Steps to create a custom field

Screenshots

Create a New Feature

Create a new feature flag in your Unleash instance named regional-content.

Steps to create use the custom field region

Screenshots

Integrating Unleash in SvelteKit app

Installation

To get started with SvelteKit and Unleash, you need to install @unleash/proxy-client-svelte package as a dependency.

You can run the following commands in your terminal to do this:

npm install @unleash/proxy-client-svelte

Set up Environment Variables

By default, the following values are setup in your local Unleash instance

# .env

UNLEASH_API_URL="http://localhost:4242/api"
UNLEASH_AUTHORIZATION_KEY="default:development.unleash-insecure-api-token"

Initialize Unleash SDK

Some additional information

Initialise Unleash SDK

Some additional information

// some code

Use Unleash SDK to fetch the feature flag value

Some additional information

// some code

Scenarios

Some additional information

Screenshots

Revert: Scenarios

Some additional information

Screenshots

Using Unleash in Production

To setup Unleash for production, please follow the steps below:

  1. Self-host Unleash, or run an instance on [Unleash Cloud](https://www.getunleash.io/pricing).
  2. Get an [API key](/reference/api-tokens-and-client-keys) from the Unleash dashboard.
  3. Store the API key in your Environment Variables of your hosting, which secures it and makes it accessible in your code.

Conclusion

Some additional information

Release Engineering: From Code to Production

Request Details

Idea

Release Engineering: From Code to Production

Description

An overview of the release engineering process, including the different stages involved and the importance of automation in achieving efficient and reliable releases.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

Real-World Examples of Feature Flags in Action

Request Details

Idea

Real-World Examples of Feature Flags in Action

Description

Examples of how feature flags have been used by companies like Google, Netflix, and Amazon, and the benefits they have experienced as a result.


Community vote
👍 Upvote if you like this topic
🚀 If you can write the article!

Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.