Skip to content

nikolap994/feature-flags-service

Repository files navigation

Feature Flag Service (MVP)

A developer-focused SaaS for managing feature flags, environments, and targeting rules. Built with NestJS + TypeScript for the backend, Next.js + Tailwind for the dashboard.


🧩 What is this app?

This is a feature management platform: developers can turn features on and off in their apps dynamically without redeploying code.

It allows you to:

  • Roll out new features gradually (percentage rollout).
  • Enable/disable features for specific users or groups.
  • Manage multiple projects and environments (dev, staging, production) in one place.

Think of it as a remote switchboard for your app’s features.


🛠️ Why you would use it

  1. Safe feature releases – Release features to a small % of users first.
  2. Custom targeting – Show different features to different user segments.
  3. Centralized control – Manage all projects, environments, and flags from a single dashboard.

🎯 Core MVP Features

  • Projects & Environments

    • Create multiple projects and environments (e.g., dev, prod).
  • Feature Flags

    • Boolean flags (enabled / disabled).
    • Config flags with JSON values.
  • Targeting Rules

    • Percentage rollout (e.g., enable feature for 10% of users).
    • Attribute-based rules (e.g., country, userId).
  • Dashboard

    • Manage projects, environments, and flags in a web UI.
  • Authentication

    • User registration, login, and API keys for access.

⚡ Getting Started (MVP)

1. Clone repo

git clone <your-repo-url>
cd feature-flags-service

2. Install dependencies

npm install

3. Setup Database

  • Configure .env in the backend with your Postgres connection string:
DATABASE_URL="postgresql://user:password@localhost:5432/feature_flags"
  • Run Prisma migrations:
npx prisma migrate dev --name init

4. Run Development Server

# backend (NestJS API)
npm run dev:api

# frontend (Next.js dashboard)
npm run dev:web

Build & Develop (Optional Turbo Repo)

To build or develop multiple packages, you can use Turbo:

# Build all
turbo build

# Develop all
turbo dev

You can also filter for specific packages:

turbo dev --filter=web
turbo build --filter=api

Postman collection

  • Import Feature Flags Service.postman_collection.json to Postman

About

A developer-focused SaaS for managing feature flags, environments, and targeting rules.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors