Coordinator 패턴으로 화면 전환 로직을 분리하여 View Controller의 책임 감소
Repository 패턴을 활용한 Data Layer를 통해 데이터 소스 추상화
Use Case를 통한 비즈니스 로직 분리로 ViewModel 복잡도 감소
Protocol 기반 의존성 주입으로 테스트 용이성 확보
- Authentication, Firestore, Storage를 활용한 서버리스 아키텍처 구현
- 별도의 백엔드 서버 없이 데이터 동기화 및 사용자 인증 구현
- Cloud Functions를 통한 Refresh Token 발급/회수 처리
- 데이터 바인딩과 비동기 이벤트 처리를 위한 Combine 프레임워크 활용
- 비동기 네트워크 요청 및 DB 작업에 Swift Concurrency 적용
- 상호 운용성 확보를 위한 연결 레이어 구현
- 캐싱 데이터를 사용하기 위한 CoreData 활용
- 민감한 인증 정보를 안전하게 저장하기 위한 Keychain Services 구현
- Firebase와 Local DB 간 데이터 동기화 메커니즘 구현
- JWT 생성을 서버가 아닌 클라이언트에서 직접 처리하는 보안 아키텍처 구현
- Keychain을 활용한 Refresh Token 저장으로 사용자 재로그인 필요성 최소화
- Firebase와의 통합을 통한 자동 로그인 구현
- 앱 삭제/재설치 시나리오에서도 사용자 설정 기반 푸시 알림 복원
- Keychain을 활용한 상태 정보 보존으로 일관된 사용자 경험 제공
- 12가지 사용자 시나리오 분석 및 대응 로직 구현
- 로컬 캐싱 우선 전략을 통한 Firestore 읽기 비용 절감
- 캐싱 속도를 통한 데이터 읽기 속도 개선
| 📑 문서 | 노션 |
|---|













