널스메이트(NurseMate) Android / wearOS 앱.
app/ 폰 앱 (Compose M3) — applicationId app.nursemate
wear/ 워치 앱 (Wear Compose M3) — 동일 applicationId, versionCode +1e9 오프셋
core/
├── model/ 순수 Kotlin 도메인 모델
├── data/ Repository · DataStore (기기 UUID 등)
├── timer/ 처치 타이머 도메인 — TimerRepository · 알람 예약 계약
├── network/ Retrofit · BASE_URL(BuildConfig) · RFC 9457 에러 모델
├── vision/ 온디바이스 알약 검출 (ONNX Runtime · RF-DETR-Seg)
├── datalayer/ 폰↔워치 Wearable Data Layer 래퍼 (경로 계약)
└── designsystem/ DS 토큰 (Pretendard · 컬러 램프 · spacing · radius)
build-logic/ Gradle convention 플러그인 (AGP 9 신DSL)
spec/ 스펙 서브모듈 (API·기능 스펙·디자인 정본)
- 빌드: AGP 9 / Kotlin 2.3 (built-in —
org.jetbrains.kotlin.android미사용) / JDK 17 / compileSdk·targetSdk 36 / 폰 minSdk 26 · 워치 minSdk 30
- 서브모듈 포함 클론:
git clone --recurse-submodules https://github.com/Two-Park-One-Bae/Android.git secrets.properties.sample을secrets.properties로 복사하고 값 채우기./gradlew assembleDebug
서명·버전 정책·AAB 산출 절차는 docs/RELEASE.md. 업로드 keystore는 certificates 레포 보관.
브랜치 · 커밋 · PR · Jira 자동 전환 규칙의 정본은 spec/docs/CONVENTIONS.md.
- 브랜치:
<type>/NM-XXX-요약(develop에서 분기) - 커밋:
[NM-XXX] type: 한글 요약 - PR:
[NM-XXX] 요약→ develop
API 명세·기능 스펙·디자인의 정본은 spec/ 서브모듈 (spec/api/openapi.yaml, spec/feature/).