sookim-1

번호 : 014, 작성일자: 2024-05-08

2024.05.02 ~ 2024.05.07

🚨 사이드프로젝트 (덕후감)


사이드프로젝트의 이름은 덕후감인데 애니메이션을 검색하여 현재 몇화까지 보았는지 저장하는 서비스 - Geek_Report

지난 주는 해당 사이드프로젝트의 전체적인 기능을 구현을 완료했다.

애니메이션별 상세화면

  • 프롬프트에 원하는 디자인을 입력하면 생성되는 툴인 UIZard를 활용하여 디자인을 참고했고, Strechable Header를 이용하여 구현했다.
  • 에피소드를 선택하는 방법은 제한된 목록에서 선택하도록 UIPickerView로 기능을 구현했다.

검색화면

  • UISearchController를 이용하여 검색이 될 때 API를 호출하도록 이용했다.
  • 기존의 홈화면 디자인을 UICompositionalLayout 구성을 사용했기 때문에 동일하게 검색목록 디자인도 UICompositionalLayout을 사용하여 구현했다.

나의 목록화면

  • 데이터를 저장하고 불러와서 표시하는 방법으로 CoreData를 활용했다. CoreData를 사용한 이유는 추후에 계정서비스를 도입하면 FirebaseStore를 사용할 예정도 있지만, 계정서비스 도입전에는 Relam, CoreData, SwiftData가 후보였다. 비교하면 Relam은 라이브러리이고 저번 사이드프로젝트에 사용해봤기 때문에 나머지 후보 중 SwiftData는 CoreData의 보완된 부분이 많아서 차이점을 비교하기 위해 CoreData를 먼저 사용했다.
  • 해당 화면 디자인도 동일하게 UICompositionalLayout을 사용하여 구현했다.

이제 부터는 에러처리 및 아키텍처패턴에 대한 부분을 리팩토링해나가야겠다.

🙋🏻‍♂️ 기타 사항


  1. Sentry environment을 설정하여 빌드옵션에 따라 설정할 수 있다. 기본 값은 production이고 빌드옵션에 따라 Debug모드는 debug, Release모드는 release로 설정하여 분기처리 할 수 있다.
  2. SkeletonView라이브러리를 사이드프로젝트에 추가하려고 했는데 DiffableDataSource와 사용해본적이 없어서 검토해보았는데 적용이 되지 않아서 더 공부해봐야겠다.
  3. 새로 알게된 tree패키지가 있었는데 디렉토리구조를 tree구조로 표시해준다.
태그: