Coventry Pickleball Social

Admin Access

Enter your credentials to continue

Edit Match

ID: {{ editingMatch.id }}

Warning

Editing this match will reverse the original rating changes and recalculate based on new scores.

Team A

{{ getTeamNames(editingMatch.teamA) }}

Team B

{{ getTeamNames(editingMatch.teamB) }}

Current Result: {{ editingMatch.scoreA }} - {{ editingMatch.scoreB }} (Winner: {{ editingMatch.winner === 'Draw' ? 'Draw' : 'Team ' + editingMatch.winner }})

New Result: {{ editMatchForm.scoreA }} - {{ editMatchForm.scoreB }} (Winner: {{ editMatchForm.scoreA > editMatchForm.scoreB ? 'Team A' : editMatchForm.scoreB > editMatchForm.scoreA ? 'Team B' : 'Draw' }})

League Table

Player rankings and statistics

{{ players.length }} Active Players
or pick a date:

View Tournament Table

Enter a tournament ID to view the frozen leaderboard for that specific tournament

Overall League Table

Rank Player {{ leagueSortDirection === 'asc' ? '▲' : '▼' }} Points {{ leagueSortDirection === 'asc' ? '▲' : '▼' }} Rating {{ leagueSortDirection === 'asc' ? '▲' : '▼' }} Games {{ leagueSortDirection === 'asc' ? '▲' : '▼' }} Wins {{ leagueSortDirection === 'asc' ? '▲' : '▼' }} Draws {{ leagueSortDirection === 'asc' ? '▲' : '▼' }} Losses {{ leagueSortDirection === 'asc' ? '▲' : '▼' }} Win % {{ leagueSortDirection === 'asc' ? '▲' : '▼' }}
{{ index + 1 }}
{{ index + 1 }}
{{ player.name.charAt(0).toUpperCase() }}
{{ player.name }}
ID: {{ player.id }}
{{ (player.filteredWins * 3) + (player.filteredDraws * 1) }} {{ leagueFilter === 'overall' ? Math.round(player.rating) : Math.round(player.filteredRating) }} {{ player.filteredGames }} {{ player.filteredWins }} {{ player.filteredDraws }} {{ player.filteredLosses }}
{{ player.filteredGames > 0 ? Math.round((player.filteredWins + player.filteredDraws * 0.5) / player.filteredGames * 100) : 0 }}%

Today's Tournament

Record results by round

{{ formatDate(session.date) }} Tournament{{ session.notes ? ' - ' + session.notes : '' }}

{{ session.rounds.length }} rounds to record

Tournament ID: {{ session.tournamentId }} Old Format

Round {{ round.roundNumber }} {{ round.matches.length}} matches
Court {{ match.court }} {{ getTeamNames(match.teamA) }} vs {{ getTeamNames(match.teamB) }}
- ✓ Saved

Completed Today

Court {{ schedule.court }}
{{ getTeamNames(schedule.teamA) }} vs {{ getTeamNames(schedule.teamB) }}
Recorded

Upcoming Schedule

No schedules available yet.

{{ formatDate(schedule.date) }}

Court {{ schedule.court }}

Team A

{{ getTeamNames(schedule.teamA) }}

Team B

{{ getTeamNames(schedule.teamB) }}

{{ schedule.notes }}

Match History

No matches found.
{{ formatDate(match.date) }} {{ match.format }} {{ Object.keys(match.rounds).length }} Rounds

Team A

{{ getTeamNames(match.teamA) }}

{{ match.scoreA }} - {{ match.scoreB }}

Team B

{{ getTeamNames(match.teamB) }}

Round Breakdown:

Round {{ roundNum }}: {{ roundData.A }} - {{ roundData.B }}
Ratings Updated
Note: {{ match.notes }}
Showing {{ historyStartIndex + 1 }}-{{ Math.min(historyEndIndex, filteredMatches.length) }} of {{ filteredMatches.length }} matches
Page {{ historyCurrentPage }} of {{ historyTotalPages }}

Manage Players

Add New Player

ID Name Rating Games W-L Actions
{{ player.id }} {{ player.name }} {{ Math.round(player.rating) }} {{ player.gamesPlayed }} {{ player.wins }}-{{ player.losses }}

Generate Schedule

Create Manual Match

Number of games this matchup plays (e.g., best of 3)

Custom Tournament Builder

Manually select and arrange matches for your tournament

Rounds & Matches

No rounds added yet. Click "Add Round" to start building your tournament.
Round {{ roundIndex + 1 }}

Matches will be assigned to these courts in order

No matches in this round yet
Match {{ matchIndex + 1 }}

Number of games each matchup plays (e.g., best of 3)

Selected: {{ scheduleGenerator.availablePlayers.length }} players

Generate multiple rounds with rotating partners (leave blank for single round)

Preview & Edit Generated Schedule

Round {{ match.roundNumber }} Court {{ match.court }}
Sit: {{ match.sitOuts.map(s => s.name).join(', ') }} {{ match.format }}
Sitting Out: {{ getPlayerName(scheduleGenerator.sitOut) }}

Data Management

Export Data

Import Data

Select a JSON backup file to restore data

How Player Ratings Work

The Simple Version

Your rating goes up when you win and down when you lose. How much it changes depends on who you beat.

Beat someone better than you? 🎉

You gain lots of points (up to 32 points)

Beat someone at your level? 👍

You gain a moderate amount (around 8 points)

Beat someone weaker than you? 😐

You only gain a few points (maybe 3-5 points)

Draw with anyone? 🤝

Your rating moves slightly toward theirs

Real Examples

Expected Win

You're rated 250, they're rated 200

You win → +11 points

You lose → -21 points

Big Upset!

You're rated 200, they're rated 250

You win → +21 points!

You lose → -11 points

Even Match

Both rated 225

You win → +16 points

Draw → ±0 points

Quick Facts

🎯

Everyone starts at 200 - Your rating goes up or down from there

👥

Teams average their ratings - If you're 220 and partner is 180, your team is rated 200

🤝

Partners share the change - Both teammates get the same rating change

📊

Maximum change: 32 points - You can't gain or lose more than this per match

🏆

Beat better players! - That's how you climb the rankings fastest

League Points System (Separate from Ratings)

We also track traditional league points for tournaments:

Win 3 points
Draw 1 point
Loss 0 points

💡 Your rating shows your skill level, while points show your tournament performance

{{ players.length }}

Total Players

{{ matches.length }}

Total Matches

{{ schedules.length }}

Scheduled Games

{{ unprocessedMatches.length }}

Unprocessed

Edit Tournament

Tournament ID: {{ editingTournamentId }}

Court {{ schedule.court }} {{ schedule.format }}