Skip to content

Add admin applications funnel page#13427

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/add-admin-page-funnel-graph
Draft

Add admin applications funnel page#13427
Copilot wants to merge 3 commits intomainfrom
copilot/add-admin-page-funnel-graph

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 7, 2026

Summary

Adds a new admin page at /admin/applications_funnel that visualizes how many applications progress through each stage of the HCB onboarding funnel.

Funnel Stages

  1. Application created — all Event::Application records
  2. Tell us about your project completed — applications where name and description are filled in
  3. Tell us about yourself completed — applications where all address fields (address_line1, address_city, address_country, address_postal_code) are filled in
  4. Submitted — applications with a submitted_at timestamp
  5. Approved & contract signed — applications with an approved_at timestamp
  6. Onboarded (organization created) — applications with an associated event_id

Changes

  • config/routes.rb: Added GET /admin/applications_funnel route
  • app/controllers/admin_controller.rb: Added applications_funnel action using a single SQL query with conditional aggregation for efficiency
  • app/views/admin/applications_funnel.html.erb: New view with a table showing each stage's count, drop-off % from previous stage, % of total, and a relative bar visualization
  • app/models/admin/nav.rb: Added "Application Funnel" nav item in the Organizations section

Copilot AI and others added 2 commits April 7, 2026 15:50
Agent-Logs-Url: https://github.com/hackclub/hcb/sessions/73b7fcc8-4a2a-4d7c-aa61-335e51dd5411

Co-authored-by: YodaLightsabr <76178582+YodaLightsabr@users.noreply.github.com>
…iple queries

Agent-Logs-Url: https://github.com/hackclub/hcb/sessions/73b7fcc8-4a2a-4d7c-aa61-335e51dd5411

Co-authored-by: YodaLightsabr <76178582+YodaLightsabr@users.noreply.github.com>
Comment on lines +80 to +83
<Cell
key={i}
fill={generateColor(i, chartData.length, isDark)}
/>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
<Cell
key={i}
fill={generateColor(i, chartData.length, isDark)}
/>
<Cell key={i} fill={generateColor(i, chartData.length, isDark)} />

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants