소속 | 2024학년도 홍익대학교 컴퓨터공학과 창직종합설계프로젝트, IT 연합동아리 코테이토 9기 |
개발기간 | 2024.03 ~ 2024.11 |
사용기술 | Swift, UIKit, RxSwift, MVVM-C |
💡 기존의 숏폼 플랫폼에서 제공하는 ‘저장하기’ 기능은 단순히 숏폼의 썸네일만을 나열하여 보여주며 분류, 검색과 같은 사용자 친화적인 기능을 제공하지 있지 않습니다.
이로 인해 사용자는 저장했던 영상 중 원하는 영상을 찾기 위해 무한정 스크롤을 내리며 영상들을 일일이 확인해야합니다.
이러한 불편함을 해소시켜주기 위해 사용자가 저장한 숏폼을 자동으로 요약 및 분류해주는 ‘숏폼 동영상 자동 요약 및 분류 앱’, 숏캡(ShortCap)
을 개발하게 되었습니다.
선호하는 숏폼카테고리 선택 | 익스텐션 앱을 사용한 요약 |
숏폼 디테일 정보 확인 | 요약했던 숏폼 검색하기 |
Shortcap iOS
는 클린아키텍처를 사용하여 내부로직을 분리했습니다.
해당 서비스는 익스텐션 앱과 기본앱이 동일한 로직 및 저장소를 일정부분 공유합니다.
클린아키텍처 기반으로 할당된 객체의 명확한 역할과 느슨한 결합을통해 두 개의 앱에서 같은 객체(혹은 같은 저장소)를 동일하게 사용할 수 있었습니다.
해당 부분의 경우 앱별 의존성주입코드를 포함하는 Assembly객체
를 확인해 주시기 바랍니다.
RxSwift
의 Debounce오퍼레이터를 활용하여 정해진 시간(500 miliseconds)동안 유저 입력이 없는 경우 숏폼 검색이 실행되도록 구현했습니다.
해당 구현을 통해 유저가 일일히 검색 버튼을 누르지 않게 하면서 네트워크 대역폭에 줄 수 있는 영향을 최소화하였습니다.
searchingText
.debounce(.milliseconds(500), scheduler: MainScheduler.instance)
.withUnretained(self)
.subscribe { (viewModel, word) in
viewModel.requestSearchResult(word: word)
}
.disposed(by: disposeBag)