GitHub User Dictionary
사용한 기술
- Swift 5, Xcode 12.5
- Animation, Combine, MVVM-C, Singleton pattern, CocoaPod, UserDefaults, DiffableDataSource, REST API
수행 역할
- MVVM - C 패턴을 적용해서 model, view, viewModel, Coordinator의 역할을 구분해서 구현
- Combine을 이용해서 Reactive Programming으로 앱 기능들을 구현
- 모든 UI와 동작을 Storyboard없이 코드로만 구현
- DiffableDataSource를 이용해서 검색할때 CollectionViewCell들이 이동하는 애니메이션 구현
- REST Api를 이용해서 GitHub로 부터 검색된 유저와 관련된 정보등을 클라이언트 상으로 가져와서 보여주기
- UserDefaults를 사용해서 사용자가 선택한 유저는 클라이언트상에 저장
iFinance
사용한 기술
- Swift 5, Xcode 12.5
- Firebase, Animation, Delegate pattern, Singleton pattern, CocoaPod, UserDefaults, DiffableDataSource, REST API, NotificationCenter, CellAutoSizing, UITableViewDiffableDataSource, MVVM, DispatchGroup, autolayout
수행 역할
- 모든 UI와 동작을 Storyboard없이 코드로만 구현
- WWDC 19에 소개됐던 DiffableDatasource를 적용해서 검색 창에 생기는 변화들을 구현
- Chart 라이브러리를 사용해서 주식 종목들의 그래프를 구현
- Rest API를 이용해서 뉴스, 주식 종목 검색, 특정 종목의 데이터들을 Fetching해서 클라이언트에 뿌려주기
- DispatchGroup을 이용해서 네트워킹시에 발생하는 비동기를 제어
- NotificationCenter와 delegate패턴을 사용해서 view controller 들 사이에 data를 주고 받을수 있게 구현
- Firebase realtime database를 사용해서 사용자들이 특정 종목에 관해서 의견을 주고 받을수 있는 게시판을 구현
- Userdefault를 이용해서 사용자가 watch list에 추가한 종목들을 클라이언트에서 저장
- SD web image 라이브러리를 이용해서 image caching을 가능하게 해서 이미지 로딩시 발생할수 있는 앱의 퍼포먼스 저하를 방지
- 사용자가 작성한 글에 양에 따라 셀의 크기가 변할수 있게 auto cell sizing을 적용해서 ux를 향상
해야하는 당일의 운동 스케줄을 기록하고 계획할수 있게 해주는 어플리케이션
사용한 기술
- Swift 5, Xcode 12.5
- Animation, Delegate pattern, Notification, Singleton pattern, CocoaPod, Open source (FS Calendar), File management
수행 역할
- Auto Layout과 Interface Builder를 통한 UI 구현.
- Open source인 FSCalendar를 이용한 달력 구현.
- 해야하는 운동 이름을 작성할때 자동완성이 가능하게 구현
- File management를 통한 클라인트 상에서의 데이터 저장하기.
Trouble Shooting
- 쉬는 시간 타이머 기동후 어플을 나갔을 때 타이머의 남은 시간 계속 트랙하기
- 문제: 타이머 밖에 나간 이후에 흐르는 시간과 유저가 셋팅해놓은 타이머 시간과의 불일치
- 해결: 유저가 앱을 나갔을때의 시간과 다시 돌아왔을때의 시간의 차이 값을 구해서, 이 값을 타이머의 애니메이션에 반영을 해서 새로운 UI로 업데이트를 해준다.
GIPHY앱에서 NFT로 쓰일수 있는 이미지들을 검색어를 통해 보여줄수 있는 애플리케이션
사용한 기술
- Swift 5, Xcode 12.5
- REST API, Image Caching, Delegate pattern, Notification, Singleton pattern, CocoaPod, File management
수행 역할
- Auto Layout과 Interface Builder를 통한 UI 구현.
- REST API를 통해 GIPHY에서 제공하는 데이터를 가져와서 클라이언트에서 보여주기
- Image Caching을 통해 앱 화면을 스크롤할때 발생하는 퍼포먼스 저하를 방지
- File management를 통한 클라인트에서 데이터 저장하기.
Trouble Shooting
- 앱의 전체적인 속도 저하 이슈
- 문제: 이미지를 로딩해주고 사용자가 매번 화면을 스크롤 할때마다 넷상에서 매번 이미지 로딩으로 인한 앱의 속도 저하
- 해결: 이미 로딩 해준 이미지는 cache상에 기록을 해줘서 넷상에서 매번 이미지를 가져오는 일을 하지 않게 한다.
Box Office에서 보여주는 영화목록과 관련정보 및 관람객들의 코멘트등을 보여주는 어플리케이션
사용한 기술
- Swift 5, Xcode 12.5
- Delegate pattern, REST API
수행 역할
- Interface Builder를 통한 UI 구현.
- REST API POST GET을 이용해서 댓글작성을 가능하게 구현
- 예매율, 개봉일, 큐레이션 Data를 이용해서 영화에 대한 정보들을 sorting가능하게 구현