How melvy13/pickleball-scoretracker works
Pickleball Team Round-Robin Scoretracker is a local-first Angular app for managing a flighted tournament from roster setup through score entry to team and pair rankings. TournamentService initializes state from browser storage or the seed JSON, generates fixtures and matches, and persists edits locally. Separate views handle the schedule, roster and voids, scores, team standings, and seed-level pair rankings. Optional custom seed upload is validated before loading. The README documents these capabilities; unsampled implementation details are represented only where the tree supports a path.
Main entry points: tournament.service.ts Tournament service · app.ts App shell · standings-calculator.ts Standings calculator · score-entry.ts Score entry
Components 15
Tournament screens
- App shell
src/app/app.ts - Page routes
src/app/app.routes.ts - Score entry
src/app/views/score-entry/score-entry.ts - Pairs and roster
src/app/views/pairs/pairs.ts - Fixture schedule
src/app/views/schedule/schedule.ts - Team standings
src/app/views/standings/standings.ts - Pair rankings
src/app/views/pair-rankings/pair-rankings.ts
Tournament state
- Tournament service
src/app/core/tournament.service.ts - Tournament models
src/app/models
Domain logic
- Tournament generator
src/app/core/tournament-generator.ts - Seed validator
src/app/core/seed-data-validator.ts - Standings calculator
src/app/core/standings-calculator.ts
Browser data
- Seed roster
public/seed-data.json - Browser localStorage
Other components
- Organizer
Connections 17
- Organizer → App shell: uses
- App shell → Page routes: navigates
- App shell → Seed validator: validates upload
- App shell → Tournament service: loads seed
- Score entry → Tournament service: submits scores
- Score entry → Standings calculator: checks voids
- Pairs and roster → Tournament service: edits roster
- Fixture schedule → Tournament service: reorders fixtures
- Team standings → Tournament service: reads state
- Team standings → Standings calculator: calculates standings
- Pair rankings → Tournament service: reads state
- Pair rankings → Standings calculator: calculates rankings
- Tournament service → Browser localStorage: loads and saves
- Tournament service → Seed roster: fetches roster
- Tournament service → Tournament generator: generates fixtures
- Tournament service → Tournament models: stores entities
- Seed validator → Tournament models: validates seed shape