Skip to content

feat(experimentation): add experiment creation wizard frontend#7596

Merged
Zaimwa9 merged 32 commits into
mainfrom
feat/experimentation-form-v1-frontend
May 28, 2026
Merged

feat(experimentation): add experiment creation wizard frontend#7596
Zaimwa9 merged 32 commits into
mainfrom
feat/experimentation-form-v1-frontend

Conversation

@Zaimwa9
Copy link
Copy Markdown
Contributor

@Zaimwa9 Zaimwa9 commented May 26, 2026

Thanks for submitting a PR! Please check the boxes below:

  • I have read the Contributing Guide.
  • I have added information to docs/ if required so people know about the feature.
  • I have filled in the "Changes" section below.
  • I have filled in the "How did you test this code" section below.

Changes

Builds on #7591 — adds the frontend for experiment creation as a 4-step wizard accessible from the environment sidebar.

New components:

  • ExperimentsPage — list/create mode toggle with empty state, experiment count, and "Create Experiment" CTA
  • CreateExperimentWizard — orchestrates the 4-step wizard with state management and API submission
  • WizardStepper — left sidebar step navigation with connecting lines, completion badges, and click-to-go-back
  • WizardNavButtons — Back / Continue / Create Experiment navigation
  • LivePreviewPanel — placeholder card (hidden on small breakpoints)
  • ContentCard — reusable bordered card component (extracted for reuse across experimentation and warehouse UIs)
  • VariationTable — read-only 3-column table (Name, Description, Value) matching the POC design

Steps:

  • Step 1 (Setup) — fully functional: experiment name, hypothesis, searchable feature flag selector (multivariate only, client-side filtered), read-only variations table
  • Step 2 (Audience & Traffic) — static placeholder: targeting card ("All identities") + sample size presets (100% selected)
  • Step 3 (Measurement) — static placeholder: disabled search bar + disabled "Create Metric" button
  • Step 4 (Review & Launch) — setup summary with Edit link, confirmation modal before creating

RTK Query service:

  • useGetExperimentsQuery — list experiments
  • useCreateExperimentMutation — create experiment (status=created)

Types:

  • Experiment, ExperimentStatus in responses.ts
  • getExperiments, createExperiment in requests.ts

Not in scope:

  • Backend type filter on features endpoint (client-side MV filtering for now)
  • Audience targeting conditions
  • Metrics creation/selection
  • Variation split configuration
  • Live preview content
  • Experiment detail/edit page
  • Start/pause/complete actions

How did you test this code?

  • Manual testing via ENV=local npm run dev with API running locally
  • Navigated to Experiments page → verified empty state renders
  • Clicked "Create Experiment" → verified wizard renders with all 4 steps
  • Filled in Step 1 fields → verified validation (Continue disabled until all fields filled)
  • Selected multivariate feature → verified variations table renders with POC styling
  • Navigated through Steps 2-3 (placeholder pass-through) → verified Back/Continue work
  • Verified Step 4 review summary shows correct data with Edit link
  • Verified confirmation modal appears before creation
  • Verified experiment created via POST to backend (after enabling experimental_flags flag and running migrations)
  • Verified stepper shows completion state and allows click-back navigation
image image image image image

Zaimwa9 added 23 commits May 25, 2026 11:10
@Zaimwa9 Zaimwa9 requested a review from a team as a code owner May 26, 2026 08:17
@Zaimwa9 Zaimwa9 requested review from talissoncosta and removed request for a team May 26, 2026 08:17
@vercel
Copy link
Copy Markdown

vercel Bot commented May 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
flagsmith-frontend-preview Ready Ready Preview, Comment May 28, 2026 1:57pm
flagsmith-frontend-staging Ready Ready Preview, Comment May 28, 2026 1:57pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Ignored Ignored Preview May 28, 2026 1:57pm

Request Review

@github-actions github-actions Bot added the feature New feature or request label May 28, 2026
@Zaimwa9
Copy link
Copy Markdown
Contributor Author

Zaimwa9 commented May 28, 2026

Thanks for the review, I have fixed all your comments. Concerning Storybook, noted, for now I have left them on the side but I will create the stories in the follow-up PR that uses backend filtering of MV

@Zaimwa9 Zaimwa9 requested a review from talissoncosta May 28, 2026 11:44
talissoncosta
talissoncosta previously approved these changes May 28, 2026
Copy link
Copy Markdown
Contributor

@talissoncosta talissoncosta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missed some on the previous round.
Can you please check that ? No blockers tbh..

Comment thread frontend/web/components/pages/ExperimentsPage.tsx Outdated
Comment thread frontend/web/components/pages/ExperimentsPage.tsx Outdated
Comment thread frontend/web/components/pages/ExperimentsPage.tsx Outdated
Comment thread frontend/web/components/pages/ExperimentsPage.tsx Outdated
Comment thread frontend/web/components/experiments/WizardStepper/WizardStepper.tsx
Comment thread frontend/web/components/experiments/steps/ReviewStep.scss
Comment thread frontend/web/components/experiments/wizard.scss Outdated
@github-actions github-actions Bot added feature New feature or request and removed feature New feature or request labels May 28, 2026
talissoncosta
talissoncosta previously approved these changes May 28, 2026
@github-actions github-actions Bot added feature New feature or request and removed feature New feature or request labels May 28, 2026
@Zaimwa9 Zaimwa9 merged commit cdda679 into main May 28, 2026
47 of 49 checks passed
@Zaimwa9 Zaimwa9 deleted the feat/experimentation-form-v1-frontend branch May 28, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request front-end Issue related to the React Front End Dashboard

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants