← 포트폴리오로 돌아가기Released

Mobile / Sports App

Record Sports — 탁구 기록 & ELO 랭킹

탁구 경기를 기록하고 ELO 레이팅으로 실력을 가시화하는 컨슈머 스포츠 앱. Google Play에 출시된 Android 앱이며, 웹에서는 앱의 핵심 흐름을 설명하는 제품 투어만 제공하고 실제 사용은 스토어 설치로 연결합니다.

ELO 7단계 티어실시간 경기 기록그룹·글로벌 랭킹

Record Sports — 탁구 기록 & ELO 랭킹 상세 설계서

상태: PUBLIC · RELEASED · STORE_LIVE (Google Play) 기술 스택: React Native 0.84 (Granite), TypeScript, Zustand, TanStack Query, Firebase 카테고리: Mobile / Sports App


1. 문제와 대상 사용자

동호회 탁구는 경기 결과가 개인의 기억이나 종이 기록으로 흩어져, 실력이 얼마나 늘었는지 확인할 방법이 없습니다. Record Sports는 클럽 단위로 뛰는 생활체육 탁구인을 대상으로, 경기를 그 자리에서 기록하고 ELO 레이팅으로 실력 변화를 눈에 보이게 만듭니다.

2. 핵심 기능

기능설명
실시간 경기 기록Quick / Detailed 모드, 5세트·3세트 포맷, 듀스 자동 감지
ELO 레이팅7단계 티어, 자동 승격 연출
그룹 · 랭킹클럽 관리, 글로벌/친구 랭킹, 이중 승인 시스템

3. 기술 선택 이유

  • React Native (Granite Router): 단일 코드베이스로 기록 UI를 빠르게 반복하기 위해 선택했습니다.
  • Zustand + TanStack Query: 로컬 경기 진행 상태와 서버 동기화 상태를 분리해 다루기 위한 조합입니다.
  • Firebase (Auth / Firestore / Functions): 1인 운영에서 서버 관리 부담을 줄이고 승인·랭킹 집계를 서버리스로 처리합니다.
  • Sentry: 실사용자 환경의 크래시를 추적합니다.

4. 현재 범위

  • 경기 기록, ELO, 그룹·랭킹까지 실사용 가능한 상태로 Google Play에 출시되어 있습니다.
  • 웹 아카이브에서는 앱을 실행하지 않습니다. 화면 기반 제품 투어를 제공하고, 실제 사용은 공식 스토어 설치로 연결합니다.

5. 알려진 한계

  • Android 우선입니다. 웹 투어는 실제 앱 실행이 아니며, 기록 데이터는 앱 계정에 귀속됩니다.
  • 랭킹은 클럽 내 활동량에 영향을 받으므로 소규모 그룹에서는 레이팅 변동 폭이 큽니다.

6. 다음 검증

  • 토너먼트 시스템의 실사용 검증
  • 스토어 버전·지원 기기·개인정보 정책 링크를 릴리스 레저에 반영