feat(admin): program results summary panel for completed hackathons#194
Merged
Conversation
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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…d gallery for preview testing
… as ProgramStatsHeader
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ProgramResultsSummarySectioncomponent that renders inside the wallet-admin view of/admin/programs/:slugwhenprogram.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 linkProgramFormModalgains Gallery URL and Honorary Mentions fields (per-row name + video + GitHub), plus an inline completeness warning when switching status to "completed" with missing datahonorary_mentions JSONBandgallery_url TEXTto theprogramstableGET /programs/:slug/submissions/feedback-aggregateendpoint aggregates categorical feedback counts + free-text samples from all submissions (no PII)package.json) with horizontal bar charts per categorical question; a deterministicbuildFeedbackInsights()function generates a 2-3 sentence summaryTest plan
supabase/migrations/20260625000000_program_results_metadata.sql/admin/programs/<hackathon-slug>, unlock admin data — confirmProgramResultsSummarySectiondoes not appear while status isopenorclosedcompletedvia EDIT — confirm completeness warnings appear for missing gallery URL / honorary mentions / event datesProgramStatsHeadertotal === 0galleryUrlis nullcd 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
window.__STADIUM_MOCK__ = trueConsole errors: 0 app errors (audit log fetch expected in mock mode, filtered)
Bugs found and fixed during tester run:
setErrorcall crashed the component with "Something went wrong / setError is not defined" (removed)🤖 Generated with Claude Code