FairPlayr는 경기 시간을 기록해 최저 출전자를 표시하고 교체를 제안합니다 코치는 직접 결정합니다 오프라인 작동
FairPlayr counts the minutes during the match, shows who has played least and suggests substitutions. The coach decides. Works offline.
스포츠·피트니스TypeScript · CSSGitHub @Schpaux온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
FairPlayr is a mobile-first matchday app for grassroots football coaches to manage lineups, substitutions, and fair playtime.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗FairPlayr is a mobile-first matchday assistant for grassroots football. It is built for volunteer coaches, parent coaches, and team managers who need fast decisions on the sideline without digging through heavy admin tools.
The product focuses on practical matchday flow: squad selection, starting lineup, bench/field overview, substitutions, and fair playtime distribution. It is designed for quick use on a phone, with a modern UI, low friction navigation, and a clear in-match workflow.
Today, FairPlayr combines local matchday state (for speed and reliability during a game) with cloud-backed team and integration data (for persistence and collaboration). Norwegian and English are both first-class locales, and the app is web-first with a future app packaging direction.
FairPlayr is intentionally a sideline tool, not a full club ERP or elite analytics platform.
In youth and grassroots football, matchday decisions are often made under time pressure by volunteers. That leads to inconsistent substitutions, uneven playtime, and unnecessary cognitive load.
FairPlayr exists to make fair rotation and match organization easier in real time. The goal is simple: fewer spreadsheets, fewer ad hoc decisions, and more predictable fairness for players.
.
├─ src/
│ ├─ app/
│ │ ├─ [locale]/
│ │ │ ├─ page.tsx # Home
│ │ │ ├─ team/ # Team manager + Spond beta card
│ │ │ ├─ match/ # Match planner, setup, live, details
│ │ │ ├─ lineup/ # Dedicated lineup builder
│ │ │ ├─ settings/ # Theme/language/auth status
│ │ │ └─ auth/ # Sign-in, sign-up, callback
│ │ ├─ manifest.ts # PWA manifest (/manifest.webmanifest)
│ │ ├─ serwist/[path]/route.ts # Builds and serves the service worker (/serwist/sw.js)
│ │ └─ api/
│ │ ├─ matches/ # Match CRUD/read endpoints
│ │ └─ integrations/spond/ # Spond connect/sync/import endpoints
│ ├─ components/
│ │ ├─ match/
│ │ ├─ team/
│ │ ├─ lineup/
│ │ ├─ auth/
│ │ ├─ providers/
│ │ └─ ui/
│ ├─ sw/ # Service worker: routing rules, caches, update gate
│ ├─ domain/ # Match/live/team domain logic
│ ├─ i18n/ # next-intl routing and request config
│ └─ lib/
│ ├─ server/ # Server modules (matches, integrations)
│ ├─ supabase/ # Browser/server/middleware clients
│ ├─ teamData/ # Local vs cloud repository abstraction
│ └─ storage/ # Local storage state for match/runtime
├─ supabase/
│ ├─ config.toml
│ └─ migrations/
└─ messages/ # en.json / no.json translations
Implemented auth methods:
Key behavior:
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗