com.watch_go.doublecheckAndroid 모바일 앱과 Wear OS 워치 앱을 함께 제공하는 재사용 가능한 체크리스트 앱입니다. 완료 후 항목이 사라지는 일반 투두와 달리, "리셋" 한 번으로 같은 리스트를 반복해서 쓸 수 있도록 설계했습니다. 장보기, 여행 짐, 일상 루틴처럼 주기적으로 반복되는 체크 작업에 최적화되어 있습니다.
진행 상태 Tile (미출시 #25) — Tile마다 워치 리스트를 선택하고 완료 수/전체 수·남은 수를 확인. 워치의 유효 체크·자동 리셋 상태 사용, 오프라인 지원, 상세 바로가기와 대상 변경. 기존 최근 목록 Tile 유지.
반복 자동 리셋 (미출시 #16) — 매일·평일·선택 요일, 30분 단위 시각 설정. 폰·Wear 각각 다음 일정 하나를 비정확 예약하며 폰·위젯·Wear·Tile 접근 시 누락 일정을 보정. Room v9. 공유 모드의 동일 일정은 공통 회차로 수렴.
재사용 체크리스트 — "리셋" 버튼으로 모든 항목을 한 번에 미체크 상태로 되돌려 리스트 전체를 반복 사용
선택적 체크 공유 (미출시 #14) — 기본 꺼짐, 앱 전체 설정, 오프라인 인과 병합·리셋 회차·기기별 저장 확인. 공통 Kotlin 모델과 DataClient Asset, Room v8 및 Wear 원자적 저장.
Wear OS 동기화 — 워치에서 항목 체크. 모바일 → 워치 내용 공유, 저장 완료 응답에 기반한 기기별 상태와 재시도(구버전은 타임스탬프 기반 차분 전송 유지)
홈 화면 위젯 — 앱을 열지 않고 위젯에서 바로 항목 체크
URL 공유 — 리스트를 https://watch-go.com/double-check?k=… 링크로 만들어 지인에게 전달, 링크 열면 바로 가져오기
Explore 게시판 — 다른 사용자가 공유한 리스트(장보기/여행/운동 등)를 카테고리별로 탐색하고 다운로드
Google 로그인 업로드 — 내 리스트를 공개 게시판에 공유 (조회·다운로드는 로그인 불필요)
휴지통 — 삭제한 리스트 복원
오프라인 우선 — 로컬 Room DB에 저장, 계정·동기화 서버 의존 없음
MobileSyncService, WearSyncService, DataLayerListenerService):app 모듈의 Navigation Component로 bunchlist / bunchdetail / editbunch / explore / trash 화면을 묶음:watch-go-info-fragment (브랜드 공용 인포 화면), :onboarding (net.msalt.onboarding 패키지)DoubleCheckDatabase (Room) — 엔티티 Bunch, CheckItem, Repository 패턴bunchlist / detail 2화면만 제공하며, 항목의 checked/pin 상태는 워치 내부에 독자 저장 (모바일과 병합하지 않음). 기존 항목의 체크·핀은 보존하고 새 항목만 최초 수신 시 모바일 체크로 초기화한다serverless-for-dc-board)를 통해 DynamoDB DoubleCheckBoardTable에 업로드, UGC 정책 준수를 위해 Soft Delete + 신고 누적 시 자동 블라인드