Skip to content

홍익대학교 창직종합프로젝트 Shortcap어플리케이션 iOS레포지토리입니다.

Notifications You must be signed in to change notification settings

HongikGraduationProject/Shortcap-iOS

Repository files navigation

숏캡 썸네일

About ShortCap

소속 2024학년도 홍익대학교 컴퓨터공학과 창직종합설계프로젝트, IT 연합동아리 코테이토 9기
개발기간 2024.03 ~ 2024.11
사용기술 Swift, UIKit, RxSwift, MVVM-C

💡 기존의 숏폼 플랫폼에서 제공하는 ‘저장하기’ 기능은 단순히 숏폼의 썸네일만을 나열하여 보여주며 분류, 검색과 같은 사용자 친화적인 기능을 제공하지 있지 않습니다.

이로 인해 사용자는 저장했던 영상 중 원하는 영상을 찾기 위해 무한정 스크롤을 내리며 영상들을 일일이 확인해야합니다.

이러한 불편함을 해소시켜주기 위해 사용자가 저장한 숏폼을 자동으로 요약 및 분류해주는 ‘숏폼 동영상 자동 요약 및 분류 앱’, 숏캡(ShortCap)을 개발하게 되었습니다.

Application features

선호하는 숏폼카테고리 선택 익스텐션 앱을 사용한 요약
숏폼 디테일 정보 확인 요약했던 숏폼 검색하기

iOS tech features

클린 아키텍처

Shortcap iOS는 클린아키텍처를 사용하여 내부로직을 분리했습니다.

해당 서비스는 익스텐션 앱과 기본앱이 동일한 로직 및 저장소를 일정부분 공유합니다.

클린아키텍처 기반으로 할당된 객체의 명확한 역할과 느슨한 결합을통해 두 개의 앱에서 같은 객체(혹은 같은 저장소)를 동일하게 사용할 수 있었습니다.

해당 부분의 경우 앱별 의존성주입코드를 포함하는 Assembly객체를 확인해 주시기 바랍니다.

클린아키텍처 기반 모듈 의존성 그래프

Debounce를 활용한 검색

RxSwift의 Debounce오퍼레이터를 활용하여 정해진 시간(500 miliseconds)동안 유저 입력이 없는 경우 숏폼 검색이 실행되도록 구현했습니다.

해당 구현을 통해 유저가 일일히 검색 버튼을 누르지 않게 하면서 네트워크 대역폭에 줄 수 있는 영향을 최소화하였습니다.

searchingText
    .debounce(.milliseconds(500), scheduler: MainScheduler.instance)
    .withUnretained(self)
    .subscribe { (viewModel, word) in
        
        viewModel.requestSearchResult(word: word)
    }
    .disposed(by: disposeBag)

About

홍익대학교 창직종합프로젝트 Shortcap어플리케이션 iOS레포지토리입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages