How eriic-builds/mywcbracket works
My World Cup Bracket is a static, browser-run World Cup prediction dashboard: people import, build, or reopen a bracket, then track it against published results and optionally compare or share it. Its distinct product stages include bracket ingestion and editing, scoring and visualization, match-detail exploration, local pool management, and champion celebration. README capabilities guide the map; sampled source is limited, so links between unsampled browser modules are shown only where documented behavior supports them.
Main entry points: main.js App controller · match-details.js Match cards · index.html Dashboard page · interact.js Bracket scoring
Components 25
Bracket setup
- Workbook parser
docs/js/parse-excel.js - Bracket builder
docs/js/builder.js
Live dashboard
- Dashboard page
docs/index.html - App controller
docs/js/main.js - Bracket scoring
docs/js/interact.js - Dashboard rendering
docs/js/render.js - Bracket layouts
docs/js/bracket-tree.js - Match cards
docs/js/match-details.js
Local pool
- Local storage
docs/js/storage.js - Share and backup
docs/js/share.js - Pool comparison
docs/js/compare.js
Tournament data
- Published results
docs/data/results.json - Tournament topology
docs/data/topology.json - Match detail records
docs/data/match-details.json - Portrait mappings
docs/data/match-portraits.json - Results sync
scripts/fetch_results.py - Detail sync
scripts/match_details.py
Interactive experience
- Champion celebration
docs/js/champion-celebration.js - Celebration trigger
docs/js/champion-celebration-trigger.js - Celebration scene
docs/js/champion-celebration-scene.js - Landing animation
docs/js/landing-ballpit.js
Other components
- Bracket visitor
- Portrait source
- Results provider
- Static site host
Connections 24
- Bracket visitor → Dashboard page: opens dashboard
- Static site host → Dashboard page: serves static files
- Dashboard page → App controller: starts app
- App controller → Workbook parser: imports workbook
- App controller → Bracket builder: builds picks
- App controller → Local storage: saves and reopens
- App controller → Share and backup: shares or backs up
- App controller → Pool comparison: compares rivals
- App controller → Bracket scoring: scores bracket
- App controller → Dashboard rendering: renders dashboard
- App controller → Bracket layouts: shows bracket layout
- App controller → Match cards: opens match facts
- Bracket scoring → Published results: reads results
- Bracket layouts → Tournament topology: reads topology
- Match cards → Match detail records: reads match details
- Match cards → Portrait mappings: reads portrait map
- Match cards → Portrait source: requests credited portraits
- Bracket visitor → Celebration trigger: activates champion
- Celebration trigger → Champion celebration: starts cutscene
- Champion celebration → Celebration scene: creates scene
- Dashboard page → Landing animation: shows interactive balls
- Results provider → Results sync: supplies match feed
- Results sync → Published results: writes results
- Detail sync → Match detail records: updates details