PokeAPI를 활용한 포켓몬 도감 iOS 앱입니다. MVVM 아키텍처와 RxSwift를 활용하여 포켓몬 정보를 보여주고 검색할 수 있는 기능을 제공합니다.
- 한 화면에 3x3 그리드로 포켓몬들이 표시된다
- 각 포켓몬의 이미지와 번호가 표시된다
- 스크롤을 통해 더 많은 포켓몬을 로드할 수 있다
- 포켓몬의 한글/영문 이름을 볼 수 있다
- 포켓몬의 타입 정보를 볼 수 있다
- 포켓몬의 신체 정보(키, 몸무게)를 볼 수 있다
- 스크롤 시 자연스럽게 다음 포켓몬들이 로드된다
- 데이터 로딩 중에도 UI가 반응적으로 동작한다
- #1 프로젝트 생성 및 기본 설정
- RxSwift, Kingfisher, SnapKit 등 의존성 추가
- 기본 프로젝트 구조 설정
- #2 NetworkManager 싱글톤 구현
- Generic fetch 메소드 구현
- Error 핸들링 로직 구현
- #3 API 모델 정의
- PokemonListResponse 모델 구현
- PokemonDetailResponse 모델 구현
- #4 Model 레이어 구현
- Pokemon 모델 구현
- PokemonDetail 모델 구현
- #5 ViewModel 구현
- MainViewModel 구현
- DetailViewModel 구현
- #6 View 구현
- MainViewController 구현
- DetailViewController 구현
- #7 UICollectionView 설정
- 커스텀 CollectionViewCell 구현
- 3x3 그리드 레이아웃 구현
- #8 포켓몬 리스트 표시
- 이미지 로딩 구현
- 번호 표시 구현
- #9 무한 스크롤 구현
- 스크롤 감지 로직 구현
- 페이지네이션 로직 구현
- #10 상세 화면 UI 구현
- 포켓몬 이미지 표시
- 기본 정보 레이아웃 구현
- #11 한글화 구현
- PokemonTranslator 통합
- 타입 한글 변환 구현
- #12 이미지 캐싱 구현
- Kingfisher 통합
- 이미지 로딩 최적화
- #13 에러 핸들링
- 네트워크 에러 처리
- UI 에러 상태 처리
- #14 UI 폴리싱
- 로딩 인디케이터 추가
- 전환 애니메이션 구현
각 이슈는 구체적인 작업 내용과 완료 조건을 포함하며, PR을 통해 코드 리뷰를 진행할 예정입니다.
이러한 구조로 작업을 진행하면서, 필요에 따라 하위 작업을 추가하거나 조정할 수 있습니다. 각 이슈는 독립적으로 작업 가능하도록 구성했으며, 의존성이 있는 경우 이슈 설명에 명시할 예정입니다.