OpenTrailPaper
LilyGO T5S3 4.7" E-Paper PRO용 오픈소스 자전거 컴퓨터 펌웨어, 오프라인 지도·GPX 경로·FIT 기록·블루투스 센서 지원
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A web app for running school intramural sports leagues: captains draft teams, games are scheduled into lunch and free periods, stats are tracked live from the sideline, and playoffs settle it. Basketball first; the data model supports other sports.
The full product brief lives in docs/BRIEF.md. The brand
is docs/BRANDBOOK.html (v1.0) and
docs/DESIGN.md maps it onto the code.
The full league loop works end to end:
client_uuid), automatic plus/minus from lineups, box scores,
play-by-play, leaderboards, player/team pagesDeferred (schema often already in place): auction drafts, availability date-overrides UI, web-push delivery (subscriptions table exists; in-app inbox works), reactions UI, weekly awards UI, multi-team trades, game-reminder cron, public no-login league pages.
npm test — unit tests for the pure logic: stats/plus-minus engine,
scheduler, standings tiebreakers, bracketsnpm run test:db — applies every migration to an in-memory Postgres
(PGlite) and replays a full season scenario: signup → league → draft
(queues, auto-pick, undo) → availability → live game events (idempotency)
→ finalize → trade flow. It then drops to the authenticated role, the
way Supabase serves a signed-in request, and asserts that RLS actually
enforces access — non-members blocked, no self-promotion to
commissioner, game events writable only by the assigned scorekeeper and
only while the game is live.npm installsupabase/migrations/ against it (SQL editor or
supabase db push with the CLI).cp .env.example .env.local and fill in the URL and anon key.npm run devWithout env vars the app still runs: public pages render and authenticated
routes redirect to /setup, which explains what to configure.
app/ routes (App Router)
(auth)/ login, signup + server actions
(app)/ authenticated shell: dashboard, inbox, join, leagues/new
league/[slug]/ overview, schedule, standings, stats, teams, availability,
draft (live room), trades, playoffs, members, console,
game/[id] (+ /track), player/[id], team/[id], actions.ts
design/ living styleguide
components/ ui primitives, icons, shell, game card, standings table
lib/ supabase clients, data layer, and PURE tested logic:
stats.ts, scheduler.ts, standings.ts, bracket.ts
supabase/migrations/ SQL: full data model, RLS on every table, RPCs
scripts/db-test.mjs PGlite end-to-end migration + scenario test
docs/ BRIEF.md (product spec), DESIGN.md (design language)
proxy.ts Supabase session refresh (Next 16 proxy convention)