- 프로젝트 관리 도구: Tuist
- 사용한 라이브러리 및 프레임워크
- Swift, Combine, UIKit
- SnapKit, Kingfisher, CombineCocoa, CombineDataSource, Then, Apollo
- Quick, Nimble
프로젝트는 크게 5부분으로 나누어져 있습니다. DesignSystem관련 모듈을 하나 만들까하다가 너무 구성이 없을 것같아 생략하였습니다
- Core
- Extension 및 앱에서 사용되는 공통적인 코드가 모두 들어가 있습니다
- Data
- Data는 Networks에 데이터 요청을 하고 Domain에 넘겨주는 역할을 하고있습니다
- Domain
- Domain은 App과 UseCase protocol을 통해 소통하며, Data와도 repository protocol을 이용해 소통합니다
- Networks
- Networks는 Apollo Client를 통해 네트워크 통로를 제공하고, Operation관련 SampleData를 제공합니다
- ThirdPartyLibs
- 앱에 필요한 여러 의존성들을 관리합니다