# 소스 구조 안내

```text
flutter_web_builder_starter/
├── web/                         # CodeIgniter PHP 웹 애플리케이션
│   ├── app/Controllers/         # 로그인, 앱, 빌드, 출시, 스토어, 결제 화면/API
│   ├── app/Filters/             # 로그인 및 조직 역할 권한
│   ├── app/Libraries/           # 앱 설정, HMAC 클라이언트, 암호화
│   ├── app/Services/            # 요금제와 사용량 제한
│   ├── app/Models/              # MariaDB 모델
│   ├── app/Views/               # PHP/HTML5 관리자 및 빌더 화면
│   └── public/assets/           # CSS와 Vanilla JavaScript
├── orchestrator/                # Node.js API, 빌드 워커, 릴리스 워커
│   ├── src/buildPipeline.js     # Flutter 분석·테스트·빌드
│   ├── src/templateService.js   # 프로젝트 생성과 네이티브 패치
│   ├── src/jobRepository.js     # MariaDB 빌드 큐
│   ├── src/releaseRepository.js # MariaDB 릴리스 큐
│   └── src/releaseAdapters/     # Google Play, App Store 업로드
├── flutter_template/overlay/    # 앱마다 공통 사용하는 Flutter 런타임
├── database/                    # 초기 스키마와 개발 seed
├── scripts/                     # 설치, 상태, 검사, 아이콘 생성
├── apache/                      # VirtualHost 예제
├── systemd/                     # Node 서비스 예제
├── runtime/                     # 작업공간과 산출물, 웹루트 밖
└── docs/                        # 설치·운영·보안·Codex 인계 문서
```

## 수정 우선순위

1. `docs/IMPLEMENTATION_STATUS.md`에서 미구현 범위를 확인합니다.
2. 앱 설정 형식을 변경하면 PHP `AppDefinitionService`, 브라우저 `builder.js`, Node `validation.js`, Flutter 모델을 함께 수정합니다.
3. DB 변경은 `database/schema.sql`과 별도 운영 마이그레이션을 함께 작성합니다.
4. 변경 후 `scripts/validate_source.sh`를 실행합니다.
