nomadcode/apps/mobile/agent-ops/rules/domain/flutter-app/rules.md
toki 9212ed02ac chore: import nomadcode-app into apps/mobile
git-subtree-dir: apps/mobile
git-subtree-mainline: 11490df648
git-subtree-split: c7bc4fea56
2026-05-21 13:35:24 +09:00

1.5 KiB

name description type
flutter-app Flutter UI 레이어 - 앱 진입점, 화면 라우팅, 로그인, 상태관리 담당 (Core Domain) 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 네이티브 파일을 이 도메인에서 직접 수정하지 않는다.
  • 서비스 로직을 위젯 코드에 섞지 않는다.