Skip to content

[Feat] iOS 앱 Flutter 이관 - 디자인시스템·인증·홈·탐색·상세·마이#3

Open
youz2me wants to merge 34 commits into
developfrom
feat/LIVD-411-design-system-foundation
Open

[Feat] iOS 앱 Flutter 이관 - 디자인시스템·인증·홈·탐색·상세·마이#3
youz2me wants to merge 34 commits into
developfrom
feat/LIVD-411-design-system-foundation

Conversation

@youz2me

@youz2me youz2me commented May 22, 2026

Copy link
Copy Markdown
Member

PULL REQUEST

📄 작업 내용

iOS(Swift/SwiftUI) 앱을 Flutter(Riverpod + MVVM)로 이관했습니다. 8개 마일스톤으로 토대부터 주요 화면까지 구현했습니다(22 커밋).

마일스톤 내용
M1 기반/디자인시스템 색상 12·타이포 19스타일, 폰트(Noto Sans KR/Pretendard), 공통 위젯 8종, Dio 네트워킹 토대
M2 모델/네트워킹 공통 응답·에러 매핑, 토큰 영속화·갱신, 인증/유저 도메인·Service
M3 인증/온보딩 go_router, 인증 상태 ViewModel, 로그인, 약관→닉네임→장르→아티스트 가입
M4 콘서트 모델·Service, 추천/관심 공연
M5 탐색 검색 모델·Service, 키워드/장르 필터, 메인 탭(홈/탐색/마이)
M6 상세 셋리스트·가사 모델·Service, 콘서트 상세(정보/셋리스트), 가사(원문/발음/번역)
M7 마이 프로필, 닉네임 수정, 설정(로그아웃/탈퇴)
M8 외부연동 분석/알림 인터페이스 + stub

✅ 빌드 · 검증

  • flutter analyze 무경고, flutter test 41개 통과
  • Android 에뮬레이터(Pixel 7 / API 36) 디버그 빌드·실행 확인(디자인시스템·로그인 화면 시각 검증)
  • TDD: 모델 fromJson, ViewModel 상태, 에러 매핑, 토큰 갱신 정책 등 핵심 로직 red→green

💻 주요 코드 설명

아키텍처

  • View → ViewModel(Notifier/AsyncNotifier) → Service → Model 단방향. 의존성은 Riverpod Provider로 주입.
  • Service는 인터페이스+Dio 구현으로 분리해 ViewModel 단위 테스트를 fake로 수행.

TDD 예외(배선/외부 의존)

  • Dio 조립, 화면 위젯 배선, flutter_secure_storage/소셜 SDK 연결은 TDD 예외로 처리(최종 보고 명시).

👀 기타 더 이야기해볼 점 (확인 필요)

임의로 처리한 가정은 docs/plans/LIVD-411-assumptions.md에 정리했습니다. 핵심:

  • 소셜 로그인은 stub — 카카오/애플 네이티브 키 확보 후 SocialAuthService 교체 필요
  • JSON 키는 iOS DTO 기준 추정 — 실제 staging 응답과 대조 필요(posterUrl, hasPreferredGenre, tempUserData 등)
  • FCM/Amplitude는 인터페이스+stub — 키 확보 후 실연동
  • 후속 화면: 아티스트 상세, 커뮤니티(댓글), 알림설정, 배너/정렬 등은 미구현

🔗 연결된 이슈

  • 관련: LIVD-411 (이관 토대 + 주요 화면 — 후속 화면 완료 시 close)

youz2me added 22 commits May 22, 2026 19:06
@youz2me youz2me requested a review from JinUng41 May 22, 2026 16:24
@linear

linear Bot commented May 22, 2026

Copy link
Copy Markdown

LIVD-411

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant