맥락#
ADR-0046은 출시 앱을 RN으로 정했지만 Expo와
앱 식별자 분리를 비워 두었다. 프로젝트 오너는 Expo·Supabase 기본 환경을 만들고,
offtable.kr에 맞는 식별자와 항상 구분되는 개발 앱을 요구했다.
[1]
결정#
- RN 앱은 Expo와 Expo Router를 사용한다.
- Auth·DB·Storage·Edge Functions는 웹과 같은 환경의 Supabase 계약을 재사용한다. [2]
- 운영 앱 ID는 iOS·Android 모두
kr.offtable.app, 개발 앱 ID는kr.offtable.app.dev다. - 운영 표시 이름은
오프테이블, 개발은오프테이블 Dev다. - 개발 앱은 별도 아이콘과 앱 내부
DEV표시를 항상 보여 운영 앱과 구분한다. - EAS
development·preview는 개발 Supabase와 개발 앱 ID만,production은 운영 Supabase와 운영 앱 ID만 사용한다. - 공개 환경 변수에는 공개 가능한 Supabase 키만 둔다. 메일·푸시 제공자 비밀키와 서버 권한 키를 앱 번들에 넣지 않는다.
현재 상태#
2026-08-24 기준 develop에는 Expo 기반, 개발·운영 앱 자산, Android FCM과 iOS
푸시 자격증명 분리, EAS 프로필이 반영됐다. 이는 개발 후보 상태이며 스토어 운영
출시 완료가 아니다. [3]
하지 않은 선택#
- iOS·Android 최소 지원 버전은 정하지 않았다.
- 웹과 RN의 UI 코드 전체 공유를 약속하지 않는다. 데이터·인증 계약을 우선 공유한다.
- Expo 계정·스토어 콘솔 권한을 앱 코드의 제품 권한 모델로 쓰지 않는다.
재검토 조건#
- Expo SDK 또는 네이티브 모듈 제약이 핵심 출시 기능을 막는다.
- 스토어 심사나 서명 체계가 현재 개발·운영 앱 ID 분리와 충돌한다.
- 최소 OS 때문에 첫 모집 표본의 기기 접근성이 낮아진다.
관련 문서: RN·스토어, 실행 환경, 푸시 운영, 프로젝트 오너 요구