GoSki
A ski tracker that names every run, 3D trail maps of 43 resorts, snow forecasts and Real Time lift alerts.
翻譯準備中
正在載入完整 README。 以下為已儲存的摘錄。
A comprehensive web application for managing darts tournaments with group stages, playoffs, live match tracking, and detailed statistics.
This application allows users to create and manage darts tournaments with the following features:
• Tournament creation and configuration
• Player registration
• Group stage management
• Playoff bracket generation
• Live match tracking
• Real-time statistics and standings
• Multi-language support (Slovak/English)
src/components/TournamentCreation.jsx
Purpose: Initial tournament setup and configuration檢視完整 README ↗A comprehensive web application for managing darts tournaments with group stages, playoffs, live match tracking, and detailed statistics.
This application allows users to create and manage darts tournaments with the following features:
src/
├── components/ # React components
├── contexts/ # React context providers
├── services/ # API and database services
├── locales/ # Translation files
└── lib/ # Utility libraries
src/components/TournamentCreation.jsxPurpose: Initial tournament setup and configuration
Key Features:
src/components/TournamentRegistration.jsxPurpose: Player registration and tournament settings management
Key Features:
src/components/TournamentManagement.jsxPurpose: Main tournament management interface
Key Features:
src/components/MatchInterface.jsxPurpose: Live match gameplay interface
Key Features:
src/contexts/TournamentContext.jsxPurpose: Global tournament state management
Key Features:
Key Functions:
createTournament(): Create new tournamentselectTournament(): Select active tournamentgetTournament(): Load tournament from databasestartMatch(): Start a matchcompleteMatch(): Complete a match and update standingsstartPlayoffs(): Initialize playoff bracketupdateTournamentSettings(): Update tournament configurationupdateGroupStandings(): Recalculate group standingssrc/contexts/LiveMatchContext.jsxPurpose: Live match tracking across devices
Key Features:
src/contexts/AdminContext.jsxPurpose: Admin/Scorer authentication and permissions
Key Features:
src/contexts/LanguageContext.jsxPurpose: Multi-language support
Key Features:
src/services/tournamentService.jsPurpose: Tournament database operations
Key Features:
createTournament(): Create tournament with players, groups, matchesgetTournament(): Load single tournament with all dataupdateTournamentSettings(): Update tournament configurationdeleteTournament(): Delete tournamentcalculateGroupStandings(): Calculate standings with customizable criteriaupdateTournamentPlayoffs(): Save playoff bracket to databasestartTournament(): Generate groups and matchesaddPlayerToTournament(): Add player to tournamentsrc/services/matchService.js (within tournamentService.js)Purpose: Match database operations
Key Features:
startMatch(): Start a match (create or update)saveMatchResult(): Save match result and statisticsendLiveMatch(): Clear live match trackingsrc/lib/supabase.jsPurpose: Supabase client configuration
Key Features:
The schema, RLS policies and RPCs come only from supabase/migrations/, applied in order. supabase/tests/ holds SQL self-checks. Do not apply hand-written SQL to production outside a migration.
standingsCriteriaOrder arraylegsToWinByRound objectTournamentCreation.jsx → Configure basic settingsTournamentRegistration.jsx → Add players, finalize settingsTournamentManagement.jsx → Manage tournamentTournamentManagement.jsxMatchInterface.jsx → Play matchTournamentContext.jsxcalculateGroupStandings() in tournamentService.jstournament.group_settings.standingsCriteriaOrderLiveMatchContext.jsx tracks active matchesTournamentManagement.jsxConfigured in tournament settings, stored in group_settings.standingsCriteriaOrder:
matchesWon: Number of matches wonlegDifference: Difference between legs won and lostaverage: Cumulative match averageheadToHead: Head-to-head recordStored in playoff_settings.legsToWinByRound:
16: Round of 168: Quarter-finals4: Semi-finals2: FinalTranslation files in src/locales/:
en.json: English translationssk.json: Slovak translationsKeys organized by feature area (management, registration, common, etc.)