그림을 움직이는 애니메이션으로 바꿔주는 iOS 앱입니다. https://sketch.metademolab.com/ 웹을 클론코딩 했습니다.

The Modular Architecture
Tuist 공식문서에서 µFeatures Architecture라 불리는 The Modular Architecture를 적용했습니다.
물리적인 모듈분리로 불필요한 의존을 막을 수 있었고 무엇보다 기능 단위를 최소화하여 테스트, 유지보수를 더 쉽게 할 수 있었습니다.
5 Layer
- App : @main 앱, 프로젝트 설정관련 코드나 파일
- Presentation : 뷰와 뷰로직 관련 코드
- Domain : Core Layer 데이터를 Presentation Layer 요구사항에 맞게 변환 및 최적화
- Core : 비즈니스 로직과 데이터 관리 등 프로젝트의 근간이 되는 기능을 담당하는 계층
- Shared : UI 컴포넌트와 같이 프로젝트내 반복적으로 쓰이는 코드, 외부 라이브러리를 포함한 공용 모듈
Targets
Presentation
- Example : 실행 가능한 테스트용 애플리케이션 타겟
- Views : UI 관련 뷰코드
- Features : 뷰로직, Domain 레이어와 직접 연결
- Tests : 테스트 타겟