Skip to content

SpartaCoding-iOS5/Week10-PersonalProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

포켓몬 도감 앱 (PokéDex)

프로젝트 소개

PokeAPI를 활용한 포켓몬 도감 iOS 앱입니다. MVVM 아키텍처와 RxSwift를 활용하여 포켓몬 정보를 보여주고 검색할 수 있는 기능을 제공합니다.

유저 스토리

1. 사용자로서 나는 포켓몬 목록을 스크롤하여 browsing 할 수 있다.

  • 한 화면에 3x3 그리드로 포켓몬들이 표시된다
  • 각 포켓몬의 이미지와 번호가 표시된다
  • 스크롤을 통해 더 많은 포켓몬을 로드할 수 있다

2. 사용자로서 나는 특정 포켓몬을 선택하여 상세 정보를 볼 수 있다.

  • 포켓몬의 한글/영문 이름을 볼 수 있다
  • 포켓몬의 타입 정보를 볼 수 있다
  • 포켓몬의 신체 정보(키, 몸무게)를 볼 수 있다

3. 사용자로서 나는 끊김 없는 스크롤 경험을 할 수 있다.

  • 스크롤 시 자연스럽게 다음 포켓몬들이 로드된다
  • 데이터 로딩 중에도 UI가 반응적으로 동작한다

작업 목록 (Issues)

1. 프로젝트 초기 설정

  • #1 프로젝트 생성 및 기본 설정
    • RxSwift, Kingfisher, SnapKit 등 의존성 추가
    • 기본 프로젝트 구조 설정

2. 네트워크 레이어 구현

  • #2 NetworkManager 싱글톤 구현
    • Generic fetch 메소드 구현
    • Error 핸들링 로직 구현
  • #3 API 모델 정의
    • PokemonListResponse 모델 구현
    • PokemonDetailResponse 모델 구현

3. MVVM 아키텍처 구현

  • #4 Model 레이어 구현
    • Pokemon 모델 구현
    • PokemonDetail 모델 구현
  • #5 ViewModel 구현
    • MainViewModel 구현
    • DetailViewModel 구현
  • #6 View 구현
    • MainViewController 구현
    • DetailViewController 구현

4. 메인 화면 구현

  • #7 UICollectionView 설정
    • 커스텀 CollectionViewCell 구현
    • 3x3 그리드 레이아웃 구현
  • #8 포켓몬 리스트 표시
    • 이미지 로딩 구현
    • 번호 표시 구현
  • #9 무한 스크롤 구현
    • 스크롤 감지 로직 구현
    • 페이지네이션 로직 구현

5. 상세 화면 구현

  • #10 상세 화면 UI 구현
    • 포켓몬 이미지 표시
    • 기본 정보 레이아웃 구현
  • #11 한글화 구현
    • PokemonTranslator 통합
    • 타입 한글 변환 구현

6. 최적화 및 마무리

  • #12 이미지 캐싱 구현
    • Kingfisher 통합
    • 이미지 로딩 최적화
  • #13 에러 핸들링
    • 네트워크 에러 처리
    • UI 에러 상태 처리
  • #14 UI 폴리싱
    • 로딩 인디케이터 추가
    • 전환 애니메이션 구현

각 이슈는 구체적인 작업 내용과 완료 조건을 포함하며, PR을 통해 코드 리뷰를 진행할 예정입니다.

이러한 구조로 작업을 진행하면서, 필요에 따라 하위 작업을 추가하거나 조정할 수 있습니다. 각 이슈는 독립적으로 작업 가능하도록 구성했으며, 의존성이 있는 경우 이슈 설명에 명시할 예정입니다.

About

Week10 - PokéDex Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages