How gitobic/krakenscores works
KrakenScores supports tournament staff in configuring competitions, scheduling and scoring water-polo matches, and sharing live schedules, results, standings, and brackets with spectators. The graph follows the documented admin-to-public workflow and includes standings and bracket logic, authentication, and Firebase storage. The README documents real-time Firestore updates; source excerpts were sampled rather than the full page and service implementations, so uncertain call wiring is not expanded.
Main entry points: App.tsx Route application · matches.ts Match data service · Matches.tsx Match scheduling · standings.ts Standings service
Components 24
Tournament Admin
- Tournament setup
krakenscores-web/src/pages/admin/TournamentSetup.tsx - Tournament catalog
krakenscores-web/src/pages/admin/Tournaments.tsx - Club and team admin
krakenscores-web/src/pages/admin/Teams.tsx - Pool admin
krakenscores-web/src/pages/admin/Pools.tsx - Match scheduling
krakenscores-web/src/pages/admin/Matches.tsx - Score entry
krakenscores-web/src/pages/admin/Scorekeeper.tsx - Admin standings
krakenscores-web/src/pages/admin/Standings.tsx - Announcement admin
krakenscores-web/src/pages/admin/Announcements.tsx
Public Experience
- Master schedule
krakenscores-web/src/pages/public/MasterSchedule.tsx - Team schedule
krakenscores-web/src/pages/public/TeamSchedule.tsx - Public standings
krakenscores-web/src/pages/public/PublicStandings.tsx - Bracket views
krakenscores-web/src/pages/public/Brackets.tsx - Public announcements
krakenscores-web/src/pages/public/Announcements.tsx
Tournament Logic
- Standings calculation
krakenscores-web/src/utils/standingsCalculator.ts - Participant resolution
krakenscores-web/src/utils/tournamentEngine.ts - Schedule generation
krakenscores-web/src/utils/scheduleGenerator.ts
Firebase Services
- Match data service
krakenscores-web/src/services/matches.ts - Standings service
krakenscores-web/src/services/standings.ts - Announcement service
krakenscores-web/src/services/announcements.ts - Firestore
- Firebase Auth
Other components
- Tournament staff
- Spectators
- Route application
krakenscores-web/src/App.tsx
Connections 31
- Tournament staff → Route application: opens admin
- Spectators → Route application: opens public
- Route application → Tournament setup: routes
- Route application → Tournament catalog: routes
- Route application → Club and team admin: routes
- Route application → Pool admin: routes
- Route application → Match scheduling: routes
- Route application → Score entry: routes
- Route application → Admin standings: routes
- Route application → Announcement admin: routes
- Route application → Master schedule: routes
- Route application → Team schedule: routes
- Route application → Public standings: routes
- Route application → Bracket views: routes
- Route application → Public announcements: routes
- Match scheduling → Match data service: match data
- Score entry → Match data service: score updates
- Match data service → Firestore: reads and writes
- Master schedule → Firestore: live updates
- Public standings → Firestore: live updates
- Team schedule → Firestore: live updates
- Match data service → Participant resolution: resolves participants
- Participant resolution → Standings calculation: calculates group seeds
- Admin standings → Standings service: standings data
- Standings service → Firestore: reads and writes
- Standings service → Standings calculation: calculates standings
- Match scheduling → Schedule generation: generates schedule
- Announcement admin → Announcement service: announcement data
- Public announcements → Firestore: live updates
- Announcement service → Firestore: reads and writes
- Route application → Firebase Auth: auth provider