# 구현 범위와 완료 상태

## 바로 실행 가능한 기본 흐름

1. 관리자 로그인
2. 조직 소유 앱 생성
3. 앱 기본정보·테마·메뉴·기능·권한 설정
4. 서버와 브라우저 양쪽 설정 검증
5. 빌드 시 불변 앱 버전 스냅샷 생성
6. PHP에서 HMAC 인증으로 Node 작업 등록
7. MariaDB 10.11 큐에서 Android/iOS 작업 원자적 선점
8. Flutter 표준 프로젝트 생성 후 런타임 템플릿 적용
9. 분석·테스트·AAB/IPA 빌드 또는 DRY RUN
10. 로그·진행률·취소·자동 재시도·산출물 다운로드
11. Google Play/App Store 연결정보 암호화 저장
12. Google Play AAB 업로드·트랙 갱신·Edit 커밋
13. macOS에서 App Store Connect API 키 기반 IPA 업로드
14. 성공한 스토어 업로드 뒤 앱·버전을 출시 상태로 갱신
15. 이미 업로드된 플랫폼 빌드 번호의 재사용 사전 차단
16. 요금제·구독·결제거래·웹훅 스키마와 앱·월 빌드 한도

## 실제 운영 전 추가해야 하는 항목

### 코드 서명

- Android 업로드 키(keystore) 등록 화면과 `key.properties` 주입
- iOS 배포 인증서, 프로비저닝 프로파일 및 임시 Keychain 관리
- 앱별 키 교체·폐기·백업 정책

실제 빌드 명령은 포함되어 있지만, 앱별 스토어용 서명 자격증명을 자동 주입하는 기능은 아직 없습니다. Flutter 기본 프로젝트 상태의 Android 릴리스가 스토어용 업로드 키로 서명된다고 가정하면 안 됩니다. iOS도 인증서와 프로비저닝이 사전 구성되지 않으면 IPA 생성에 실패합니다. 서명 기능을 구현하기 전에는 `DRY_RUN=true`로 전체 흐름을 검증하십시오.

### 스토어 최초 등록과 심사

- Google Play 최초 앱 생성·정책 설문·법적 동의
- App Store Connect 최초 앱 레코드와 계약·세금·은행정보
- 스토어 설명, 카테고리, 개인정보 라벨, 연령등급
- 스크린샷 자동 생성·업로드
- Apple 빌드 처리 완료 확인 후 심사 버전 연결
- 심사 제출 및 거절 사유 대응

기본 소스의 릴리스 워커는 **바이너리 업로드 중심**입니다. 스토어 메타데이터와 최종 심사 제출은 다음 개발 단계로 분리했습니다.

### 서비스 기능

- 회원가입·초대·비밀번호 재설정·2단계 인증
- 실제 PG 결제 승인·취소·환불·정기결제 어댑터와 서명 검증 웹훅
- 세금계산서 및 현금영수증 처리
- 앱 아이콘 업로드 UI와 Python 자산 생성기의 직접 연결
- Firebase/APNs 키 관리 및 실제 푸시 초기화
- S3 호환 저장소, Vault/KMS, 워커 컨테이너 격리
- 테스트 코드 확대와 실제 기기 테스트

## 검증된 항목

- 모든 PHP 파일 `php -l`
- 모든 Node.js·브라우저 JavaScript 파일 `node --check`
- Python 자산 생성기 `py_compile`
- PHP 앱 설정 독립 스모크 테스트
- Node 내장 테스트 러너 4개 검증 테스트
- 1024x1024 테스트 이미지에서 Android 5개, iOS 15개 아이콘 생성
- seed 관리자 비밀번호 해시 검증
- Flutter 템플릿 자리표시자 치환 구조 검토

## 2026-08-09 DRY RUN 통합 검증

- PHP 8.3.31 / CodeIgniter 4.7.4 실제 HTTP 부팅과 CSRF 로그인
- MariaDB 10.11.18에 `schema.sql` + `seed.sql` 연속 2회 재적용
- Node.js 24.11.1 오케스트레이터 health, HMAC 작업 등록, MariaDB 큐 선점
- 앱 설정 저장, immutable `app_versions` 스냅샷, 워커 진행률과 로그
- Mock AAB와 `build-manifest.json` 생성, 웹 다운로드, SHA-256 일치 확인

## 현재 환경에서 검증하지 못한 항목

- `DRY_RUN=false`의 `flutter analyze`, `flutter test`, 실제 AAB/IPA 컴파일
- Android 업로드 키와 iOS 인증서·프로비저닝 서명
- 실제 Google Play/App Store 계정 업로드
- 다중 워커 경합 부하 테스트

실제 빌드 전환 전 `scripts/healthcheck.sh`와 `scripts/validate_source.sh`를 먼저 실행하십시오.
