← 프로젝트 목록
2026.10.28–29

사회자 퇴근

오프라인 모임에서 진행자 역할을 앱이 맡아, 모든 사람이 플레이어로 참여하는 파티게임 앱입니다.

역할
기획, 설계, 구현 검토
스택
Expo SDK 58, React Native 0.88, TypeScript, Zustand, Supabase
규모
파일 185개, 테스트 395개 통과
상태
개발 중 · 실기기 피드백을 반영하며 출시를 준비하고 있습니다.
저장소
비공개

문제

오프라인 모임에서 진행자 역할을 앱이 맡아, 모든 사람이 플레이어로 참여하게 하는 파티게임 앱입니다.

내 역할

PRD, 기술 설계, 로드맵, 인프라 비용 문서를 먼저 정리했습니다. 로드맵에는 계정 생성이나 실기기 테스트처럼 사람이 해야 할 일을 따로 표시했고, Claude Code는 Phase 순서대로 진행하며 체크박스를 갱신하게 했습니다.

설계 결정

  • 게임은 플러그인입니다. 폴더 하나와 레지스트리 등록으로 새 게임을 추가합니다.
  • 마피아 역할 같은 비밀 정보는 서버가 판단하고, RLS로 본인 정보만 읽게 합니다.
  • 단어 맞추기는 서버 없이 기기 한 대와 번들 데이터로 동작합니다.
  • 게임 엔진은 의존성을 두지 않아 Deno와 Node에서 같은 코드가 돌아갑니다. 이 규칙은 ESLint로 강제합니다.

구현한 게임과 기반은 다음과 같습니다.

  • 단어 맞추기: 5개 카테고리 1,079개 단어와 직접 합성한 효과음 5종
  • 온라인 기반: 방 코드와 QR 참가, 익명 로그인, 재접속 복구
  • 마피아: 서버 권위 엔진과 전체 진행 화면
  • 인물 맞추기: 턴 없는 동시 플레이

품질 근거

  • 테스트 395개 통과 (2026-11-02 실행, 단위·화면 테스트 기준, E2E 제외)
  • 엔진 테스트는 Vitest, 화면 테스트는 jest-expo로 나눴습니다.
  • 마이그레이션과 RLS는 Docker 없이 실제 Postgres에서 검증했습니다.

링크

  • 저장소: 비공개