-
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 읽기 비용 절감
- 캐싱 속도를 통한 데이터 읽기 속도 개선
| 📑 문서 | 노션 |
|---|













