--- name: flutter-app description: Flutter UI 레이어 - 앱 진입점, 화면 라우팅, 로그인, 상태관리 담당 (Core Domain) type: core --- # Flutter App ## 목적 / 책임 - Flutter 앱 진입점 및 위젯 트리 관리 - 화면 라우팅 (알림 탭 시 채널/DM 이동) - 로그인 화면 및 인증 토큰 설정 - Firebase 초기화 ## 포함 경로 - `lib/main.dart` - `lib/` (서비스 파일 제외한 화면/위젯 코드) ## 제외 경로 - `lib/services/` (push-notification 도메인) - `android/` (android-native 도메인) ## 주요 구성 요소 - `main.dart`: Firebase 초기화, PushNotificationService 세팅, 앱 위젯 - `MyApp`: MaterialApp 루트 위젯 - `MyHomePage`: 현재 기본 홈 화면 (TODO: 실제 라우터로 교체 필요) ## 유지할 패턴 - Firebase.initializeApp() 은 앱 시작 시 가장 먼저 호출 - PushNotificationService 초기화는 Firebase 초기화 후 ## TODO (push-notification-todo.md 기준) - **[TODO-2] 🔴**: 앱 라우터 및 화면 네비게이션 구현 - **[TODO-3] 🔴**: 로그인 화면 및 setAuthToken 연동 - **[TODO-4] 🟡**: 포그라운드 알림 UI 표시 ## 다른 도메인과의 경계 - **push-notification**: 알림 탭 이벤트 수신은 push-notification, 이후 화면 이동은 flutter-app - **android-native**: Flutter ↔ Android 통신은 EventChannel/MethodChannel 사용, 직접 수정 최소화 ## 금지 사항 - Android 네이티브 파일을 이 도메인에서 직접 수정하지 않는다. - 서비스 로직을 위젯 코드에 섞지 않는다.