Skip to content

feat(admin): program results summary panel for completed hackathons#195

Merged
sacha-l merged 10 commits into
mainfrom
develop
Jun 25, 2026
Merged

feat(admin): program results summary panel for completed hackathons#195
sacha-l merged 10 commits into
mainfrom
develop

Conversation

@sacha-l

@sacha-l sacha-l commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds ProgramResultsSummarySection component that renders in the wallet-admin view of /admin/programs/:slug when program.status === "completed" — stats strip, top-3 per scoring category with judge attribution, prize winners, honorary mentions, Recharts feedback charts + auto-generated insight text, gallery preview link
  • ProgramFormModal gains Gallery URL and Honorary Mentions fields (per-row name + video + GitHub), plus an inline completeness warning when switching status to "completed" with missing data
  • New Supabase migration adds honorary_mentions JSONB and gallery_url TEXT to the programs table
  • New admin-gated GET /programs/:slug/submissions/feedback-aggregate endpoint aggregates categorical feedback counts + free-text samples from submissions (no PII)
  • Feedback visualization uses Recharts (already in package.json) with horizontal bar charts; buildFeedbackInsights() generates a deterministic 2-3 sentence summary

Production checklist

  • Apply migration in Supabase: supabase/migrations/20260625000000_program_results_metadata.sql
  • Confirm VITE_USE_MOCK_DATA is scoped to Preview only in Vercel dashboard (not Production)
  • Confirm Alice's address (5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY) is not in Production VITE_ADMIN_ADDRESSES

Test plan

  • Set program status to completed via EDIT — confirm completeness warnings appear for missing gallery URL / honorary mentions / event dates
  • Add gallery URL + 3 honorary mentions → save → reload — confirm they appear in the results panel
  • Confirm stats strip, top-3 per category, honorary mentions, feedback charts, gallery link all render
  • Confirm results panel absent on open / closed programs
  • Confirm gallery section hidden when galleryUrl is null
  • Confirm public program page unchanged (results panel admin-only)
  • cd client && npm run build && npm run lint — both pass ✓
  • cd server && npm test — 439/439 pass ✓

stadium-tester report

Target: http://localhost:8080 (dev:harness — mock mode + Alice test wallet)
Scenarios: 9 total, 9 pass, 0 fail, 0 skipped

# Scenario Result
- preflight: mock mode enabled PASS
1 Results panel absent on open program PASS
2 Completeness warnings when switching to completed PASS
3 Results summary panel renders on completed program PASS
4 Stats strip: checked-in, submissions, hours PASS
5 Honorary mentions (qubitrefill, VoiceBuy, LootDrop) PASS
6 Gallery section renders with VIEW PHOTOS link PASS
7 Gallery section absent when galleryUrl is null PASS
8 Public page renders without crash, no results panel PASS

🤖 Generated with Claude Code

sacha-l added 9 commits June 25, 2026 14:24
When a program is marked "completed", the wallet-admin view gains a
ProgramResultsSummarySection showing: checked-in / submission / winner /
hours-of-hacking stats, top-3 per scoring category with judge attribution,
prize winners with video + GitHub links, honorary mentions, Recharts
feedback charts with auto-generated insight text, and a gallery preview.

ProgramFormModal gains gallery URL + honorary mentions fields (with per-row
video/GitHub inputs) and an inline completeness warning when status is
set to "completed" with missing data.

Backed by a new DB migration (honorary_mentions JSONB, gallery_url TEXT
on programs), a new aggregateFeedback() repository method, and a new
admin-gated GET /programs/:slug/submissions/feedback-aggregate endpoint.
…anel

feat(admin): program results summary panel for completed hackathons
@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
stadium Ready Ready Preview, Comment Jun 25, 2026 5:06pm

@sacha-l sacha-l marked this pull request as ready for review June 25, 2026 16:59
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.

1 participant