작업기간: 2022/12/26 ~ 2022/12/30
어플리케이션 설명: 사용자 기기를 통해 accelerometer와 gyro 데이터를 측정하고, 그 결과값을 저장하고 다시 볼 수 있는 어플리케이션입니다.
작동화면
![]() |
![]() |
![]() |
---|---|---|
앱의 동작 | 파일 삭제 | 파일 열기 |
이번 프로젝트에서는 클린 아키텍쳐를 적용해보았습니다.
클린아키텍쳐는 앱을 각 Layer로 나누어 내부에 있는 Layer는 바깥 Layer에 종속성을 가지지 않도록 하는것이 핵심적인 아키텍쳐입니다.
Domain Layer의 UseCase에서는 비즈니스 로직을 정의하였고
Data Layer의 Storage의 Interface에 해당하는 protocol을 Domain Layer에 정의함으로써
Domain Layer에는 외부 종속성이 걸리지 않도록 하였습니다. (Dependency Inversion 방지)
Data Layer에서는 DTO, CoreData Entity의 정의와 data fetching 로직들을 담았으며
Presentation Layer에서는 View와 ViewModel을 분리하여 ViewController의 부담을 줄여주었습니다.
윤영서 (@aCafela-coffee)
천수현 (@Neph)
GraphView
- 페어프로그래밍으로 제작
천수현
- MotionDataList 화면 구현 (첫 번째 페이지)
- MotionReplay 화면 구현 (세 번째 페이지)
- 앱의 Data Layer 제작 (Storage, CoreDataModel)
- 앱의 Domain Layer 제작 (UseCase)
윤영서
- MotionRecording 화면 구현 (두 번째 페이지)
- CMMotionManager를 통해 Accelerometer, Gyro 데이터를 받아오는 로직 제작
- 앱의 Domain Layer 제작 (Entity)