2026-06-28 22:40:19 +09:00
|
|
|
|
# 돈돼지 가계부 — Play 스토어 첫 출시 진행 상황
|
|
|
|
|
|
|
|
|
|
|
|
> 최종 업데이트: 2026-06-28. 첫 정식 출시(무료 앱) 준비 로그 + 남은 로드맵.
|
|
|
|
|
|
> 관련 문서: [play-store-listing.md](play-store-listing.md) · [production-access-draft.md](production-access-draft.md)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## ✅ 완료된 작업
|
|
|
|
|
|
|
|
|
|
|
|
### 출시 전략 결정
|
|
|
|
|
|
- **무료 앱**으로 첫 출시 (수익화 기능은 순차 도입)
|
|
|
|
|
|
- 첫 출시 기능 플래그 (`src/config/features.js`, 전부 `false`):
|
|
|
|
|
|
- `BILLING_ENABLED=false` — 인앱결제 스텁이라 결제 없이 프리미엄 부여되는 악용 차단
|
|
|
|
|
|
- `ADS_ENABLED=false` — 애드핏 미승인 + 데이터 안전 양식 단순화(광고 식별자 미수집)
|
|
|
|
|
|
- `CARD_NOTIF_ENABLED=false` — NotificationListenerService 정책 심사 회피
|
|
|
|
|
|
- 패키지명 `kr.sblog.slimbudget` **유지**(출시 후 영구 고정. 사용자 비노출이라 무방)
|
|
|
|
|
|
|
|
|
|
|
|
### 인프라 / 정책 페이지
|
|
|
|
|
|
- **www.sblog.kr** 도메인 + 인증서 확장 (app.sblog.kr와 동일 dist 서빙)
|
|
|
|
|
|
- 공개 URL: `/privacy`, `/terms`, `/account-deletion` (모두 200 확인)
|
|
|
|
|
|
- 개인정보처리방침 광고 문구 → "현재 광고 없음 + 향후 도입 가능" 미래형으로 정합화
|
|
|
|
|
|
|
|
|
|
|
|
### 빌드 / 서명
|
|
|
|
|
|
- **AAB**: `android/app/build/outputs/bundle/release/app-release.aab`
|
|
|
|
|
|
- targetSdk 36, versionCode 1, versionName 1.0
|
|
|
|
|
|
- 업로드 키(CN=Don Dwaeji) 서명 확인 (디버그 아님)
|
|
|
|
|
|
- 결제·광고·카드알림 전부 OFF 클린 (NotificationListener 권한 없음 검증)
|
|
|
|
|
|
- 키스토어: `android/upload-keystore.jks` + `android/key.properties` (gitignore, **이 PC에만 존재 — 분실 시 업데이트 불가, 반드시 백업**)
|
|
|
|
|
|
|
|
|
|
|
|
### 스토어 그래픽 (`brand/store/`)
|
|
|
|
|
|
- `icon-512.png` (512×512 불투명)
|
|
|
|
|
|
- `feature-1024x500.png` / `feature-1024x500-text.png` (피처그래픽, 택1)
|
|
|
|
|
|
- 생성기 `brand/gen-store-assets.mjs` + 마스터 `brand/logo-1024.png`
|
|
|
|
|
|
|
|
|
|
|
|
### 스크린샷 (`brand/screenshots/`, 7컷, 실기기 1080×2340)
|
|
|
|
|
|
- shot0 홈 대시보드(리드) / shot1 가계부 내역 / shot2 통계 / shot3 고정지출 / shot4 계좌 / shot5 게시판 / shot6 게시글 상세
|
|
|
|
|
|
|
|
|
|
|
|
### 등록 문서
|
|
|
|
|
|
- `brand/play-store-listing.md` — 등록정보(제목·설명)·데이터안전 양식·콘텐츠등급 답안
|
|
|
|
|
|
- `brand/production-access-draft.md` — 프로덕션 액세스 신청서 초안(4문항)
|
|
|
|
|
|
|
|
|
|
|
|
### 코드 수정 (배포 완료)
|
|
|
|
|
|
- 인앱결제 진입점 비활성화 (UpgradeView "곧 출시 예정", AccountInfoView 정기결제 카드 숨김)
|
|
|
|
|
|
- 광고 비활성화 (AdBanner + App.vue 게이팅, 하단 광고 여백 제거)
|
|
|
|
|
|
- 둘러보기(데모) 모드 메뉴 접근 버그 수정 (AppHeader 햄버거 `demo.on` 노출)
|
|
|
|
|
|
- 계정삭제 공개 페이지 추가
|
|
|
|
|
|
|
|
|
|
|
|
### 테스트 데이터 (캡처용, `sb_bt/scripts/`, gitignore 로컬 전용)
|
|
|
|
|
|
- 테스트 계정 `kenneth73510@gmail.com` (DB로 PREMIUM 부여)
|
|
|
|
|
|
- `seed-test-kenneth.sql`(계정+가계부), `seed-test-board.sql`(게시판 더미)
|
|
|
|
|
|
- `cleanup-test-board.sql`(게시판 더미 삭제 — **캡처 후 정리 완료**)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
## 🚧 현재 상태 (2026-06-30)
|
|
|
|
|
|
- ✅ 개발자 계정 신원확인 완료 → 앱 생성 완료(`kr.sblog.slimbudget`)
|
|
|
|
|
|
- ✅ 필수 설정(데이터안전·콘텐츠등급(전체이용가)·앱액세스(둘러보기)·광고없음·비거래자·방침URL) 완료
|
|
|
|
|
|
- ✅ 스토어 등록정보·이미지(아이콘512·피처·스크린샷7) 완료
|
|
|
|
|
|
- ✅ **비공개 테스트 트랙에 v2(AAB) 게시 → 검토 통과**
|
|
|
|
|
|
- ✅ 구글 로그인 SHA-1 이슈 해결(Play 앱서명 SHA-1 등록) → 로그인 정상
|
|
|
|
|
|
- ⏳ **테스터 12명 opt-in 대기**(업체 의뢰) → 14일 → 프로덕션 신청
|
|
|
|
|
|
- 📌 조직 계정 전환은 보류(사업자등록 → DUNS 필요. 기프트콘 기능 때 함께)
|
2026-06-28 22:40:19 +09:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
## 📋 남은 로드맵 (프로덕션까지)
|
2026-06-28 22:40:19 +09:00
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
1. ⏳ **테스터 12명 opt-in** (업체 의뢰) — 14일 카운트 시작 조건
|
|
|
|
|
|
2. ⏳ **14일 연속** 12명 유지 → **프로덕션 액세스 신청** (자료: production-access-draft.md)
|
|
|
|
|
|
3. **v3 AAB 업로드** — 이번 세션 변경(외화·월별예산·전체화면모달 등) 반영 (14일 카운트 리셋 안 됨)
|
|
|
|
|
|
4. 승인 → **프로덕션 출시**
|
2026-06-28 22:40:19 +09:00
|
|
|
|
|
|
|
|
|
|
### ⚠️ 폐쇄 테스트 의무 (개인 계정 + 2023-11-13 이후 개설)
|
|
|
|
|
|
- **테스터 12명 이상 · 14일 연속** 폐쇄 테스트 후 프로덕션 신청 가능
|
|
|
|
|
|
- 실기기·실계정 필수 (에뮬·봇·중복 불인정)
|
|
|
|
|
|
- 14일 카운트 = "릴리스 승인 + 12명 opt-in" 둘 다 충족 시점부터
|
|
|
|
|
|
- 테스터 확보: 지인 비공개 방침 → 품앗이 커뮤니티(무료·안전) 또는 평판 좋은 유료 서비스(실사용 보장형만)
|
|
|
|
|
|
|
|
|
|
|
|
### 익명 셋업 체크리스트
|
|
|
|
|
|
- [ ] 전용 Gmail 생성 (개발자 연락처 + 품앗이용)
|
|
|
|
|
|
- [ ] 공개 개발자 이름 → 브랜드명 (법적이름은 구글 내부 전용, 비공개)
|
|
|
|
|
|
- [ ] 연락처 이메일(계정+앱) → 전용 메일
|
|
|
|
|
|
- [ ] 거래자 상태 → **비거래자(Non-trader)** (주소 비공개)
|
|
|
|
|
|
- [ ] 품앗이 노출은 전용 Gmail로만
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
## ✅ 적용 완료 (전부 웹/소스 배포됨)
|
2026-06-29 09:11:17 +09:00
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
**v2(versionCode 2, 1.0.1, 06-29)에 포함 — 비공개 테스트 게시·검토통과**
|
|
|
|
|
|
- 신규 유저 빈 상태 CTA(홈 '시작하기'·내역·계좌) / 오프라인·네트워크 오류 배너
|
|
|
|
|
|
- 앱 잠금(PIN, 옵트인) + 카메라/갤러리 복귀 오작동 수정
|
|
|
|
|
|
- 전역 에러 폴백(흰 화면 방지) / 안드로이드 뒤로가기 통합(오버레이→뒤로→종료토스트)
|
|
|
|
|
|
- 분류 순서변경 보호('순서변경' 토글)
|
2026-06-28 22:40:19 +09:00
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
**v2 이후 추가 — 웹 배포됨, v3 빌드 대기**
|
|
|
|
|
|
- 앱 잠금 **1시간 유예**(잦은 PIN 입력 해소)
|
|
|
|
|
|
- **외화 입/지출** — 통화+환율 자동조회(open.er-api.com 무료)→원화 환산, 원본 보존. `amount`는 환산 원화라 통계·예산 무변경
|
|
|
|
|
|
- **월별 예산 + 전월/다음달 복사** — budget에 year/month 추가, 기존 예산은 현재 월로 1회 이관
|
|
|
|
|
|
- 내역추가 **전체화면 모달**(바깥 닫힘 방지) / 분류 **아코디언**(대분류 삼각형) / 계좌 셀렉트 정리(종류별 안내·이름만)
|
|
|
|
|
|
- 구글 로그인 **Play 서명 SHA-1 등록**(Google Cloud Android OAuth 클라 추가)
|
2026-07-04 01:24:15 +09:00
|
|
|
|
- **UI 전면 개편 (2026-07-04)** — 모든 입력 모달 전체화면 슬라이드업(AppModal) 적용:
|
|
|
|
|
|
- 공통 `CategoryPicker.vue` 컴포넌트 — 대분류/소분류 아코디언 칩 + 인라인 추가 (가계부·고정지출·예산 공통)
|
|
|
|
|
|
- `AccountView` 계좌종류·구분 셀렉트→뱃지, 분류→CategoryPicker
|
|
|
|
|
|
- `RecurringView` 구분·주기 셀렉트→뱃지, 계좌/카드→뱃지, 분류→CategoryPicker
|
|
|
|
|
|
- `AccountWalletView` 카드종류·상환방식 셀렉트→뱃지
|
|
|
|
|
|
- `BudgetView` 비고정/고정 라디오→뱃지, 카테고리→CategoryPicker
|
|
|
|
|
|
- `CategoryView` 리스트 UI → **칩 그리드 관리 모드** (CategoryPicker admin prop): ✏ 이름수정·✕ 삭제·⠿ 순서변경(토글 후 드래그)
|
2026-06-29 09:52:42 +09:00
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
---
|
2026-06-29 21:42:05 +09:00
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
## 📌 남은 백로그 (출시 후 업데이트)
|
|
|
|
|
|
1. **앱 업데이트 안내** — 새 버전 알림 + 구글플레이 바로가기
|
|
|
|
|
|
2. **관리자 신고글 목록 페이지**
|
|
|
|
|
|
3. **가계부 작성 포인트** — 건당 10P, 일 50P 제한
|
|
|
|
|
|
4. **게시판 포인트 정책 개편** — 작성 50P(도배 제외)·키워드필터·추천+5/비추-1(일50)·남글추천+1(일10)/취소-1
|
|
|
|
|
|
5. (선택) 첫 실행 온보딩 / Play 인앱 리뷰 / 생체 인증 / 외화 환율 자동 고도화
|
|
|
|
|
|
6. **조직 계정 전환 + 기프트콘 교환** — 사업자등록→DUNS→앱이전, B2B 기프트콘 매입
|
2026-06-30 22:37:09 +09:00
|
|
|
|
|
2026-06-30 23:02:41 +09:00
|
|
|
|
### 🤖 AI 기능 (★ 정식 출시 전 적용 희망)
|
|
|
|
|
|
- 전제: **LLM API 키**(Claude Haiku 4.5 권장 — 학습 미사용·톤 우수·저렴 / 또는 Gemini 무료쿼터) + **개인정보처리방침·데이터안전 갱신**(제3자 LLM 추가). 백엔드 프록시·키 서버보관·실패 시 폴백.
|
|
|
|
|
|
- **AI 입력 보조** (편의성, 1순위)
|
|
|
|
|
|
- ① **자연어 한 줄 입력** — "어제 스타벅스 5천원" → 폼 자동 채움(기존 parseText를 LLM 기반으로). 음성=기기STT+①
|
|
|
|
|
|
- ② **영수증 사진 → AI 구조화** — 멀티모달 LLM이 총액·날짜·가맹점·분류 추천(기존 Vision OCR 보강/대체)
|
|
|
|
|
|
- ③ **자동 분류 추천** — 가맹점/메모→분류 제안
|
|
|
|
|
|
- 원칙: AI는 폼 prefill만, **사용자 확인 후 저장**
|
|
|
|
|
|
- **AI 재무 코멘트** — 자산·수입·예상지출 기반 한마디("이러다 파산각" 등). 일1회 캐시·집계수치만 전송.
|
|
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
---
|
2026-06-30 21:38:19 +09:00
|
|
|
|
|
2026-06-30 22:45:32 +09:00
|
|
|
|
## 🔨 빌드 상태
|
|
|
|
|
|
- **v2** (versionCode 2, 1.0.1): 비공개 테스트 게시·검토통과
|
|
|
|
|
|
- **v3** (versionCode 3): 위 'v2 이후 추가' 반영 — 빌드 후 비공개 트랙 업로드 (테스터에게 최신본 제공, 14일 카운트 리셋 안 됨)
|
2026-07-04 01:24:15 +09:00
|
|
|
|
- ⚠️ 서버 `.env`에 `SQL_INIT_MODE=always` 추가 필요 (budget_onetime 테이블 자동 생성)
|
|
|
|
|
|
- ⚠️ 가계부 내역 오류 미해결 — 서버 로그 + DevTools 확인 필요
|
2026-06-29 09:52:42 +09:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-06-28 22:40:19 +09:00
|
|
|
|
## 다음 세션 재개 지점
|
2026-07-04 01:24:15 +09:00
|
|
|
|
1. **테스터 12명 opt-in 진행상황 확인**(업체 의뢰) → 12명 + 14일 연속 충족되면 **프로덕션 액세스 신청**(`production-access-draft.md`)
|
|
|
|
|
|
2. **가계부 내역 오류 디버깅** — 서버 로그(`journalctl -u sb-backend`) + DevTools Network 탭
|
|
|
|
|
|
3. v3 AAB를 비공개 트랙에 업로드해 테스터가 최신본을 받게
|