Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Team-Nogari/Huhoe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

218 Commits

Repository files navigation

후회 - 그 때 샀으면 지금 얼마일까?

후회 설명_사이즈조절

후회 - 그 때 샀으면 지금 얼마일까?

그 때 샀다면.. 지금 얼마였을까? 상상만 하지말고, 과거와 실시간 가격을 비교해보세요!

개발 기간 : 2022年04月06日 ~ 업데이트 진행 중 출시 날짜 : 2022年05月22日

앱 스토어 링크

개발자 소개

임지성 황제하
@yim2627 @HJEHA

프로젝트 소개

개발 환경

구동 화면

온보딩 뷰 메인 화면 상세 화면

프로젝트 주요 기능

비동기 프로그래밍(RxSwift)

  • Escaping Closure 중첩 사용을 피하고, 선언형 프로그래밍을 통해 코드 응집도를 높이고, 효율적인 비동기 처리를 위해 RxSwift를 사용하였습니다.
  • 발생한 데이터를 RxSwift를 통해 데이터 각각 하나의 스트림을 따라 View까지 이어지고, 스트림이 끊어지지 않도록 데이터 바인딩을 구현하였습니다.

실시간 가격 조회

  • URLSessionWebSocketTask을 활용하여 상세화면에서 코인 가격을 실시간으로 갱신하고 있습니다.

날짜별 종가 차트

  • UIImageViewContextPath을 활용하여 날짜별 종가 차트를 구현했습니다.

과거 코인 가격 조회, 현재 가격과 손익 계산

  • URLSession을 사용하여 Http통신을 구현하였습니다.
  • RxSwift를 사용하여 서버에 GET요청 후 받아오는 데이터를 하나의 스트림으로 View에 적용되도록 하였습니다.
  • 코인에 대한 상세 정보(과거/현재 가격, 거래량, 거래대금, 체결 내역)를 요청하여 거래대금 Top50 코인의 정보를 가져와 선택한 날짜의 가격을 조회하고 있습니다.
  • 투자 날짜, 투자금을 Input으로 받은 후 ViewModel에서 가격 비교 및 손익 계산한 후 뷰에 반영하였습니다.

Diffable DataSource

  • 컬렉션 뷰를 구현할 때 Diffable DataSource를 사용하였습니다.
  • 뷰모델에서 가공한 타입에 Hashable을 채택 후 Output으로 바인딩 해줬습니다.
  • 뷰컨트롤러에서 Output을 subscrive후 내려온 데이터를 apply 했습니다.

App Architecture

MVVM

  • MVVM을 도입하여 뷰컨트롤러와 뷰는 화면을 그리는 역할에만 집중하고, 데이터 관리, 비지니스 로직은 뷰모델에서 진행하여 역할을 명확히 하였습니다.

Clean Architecture

  • Presentation Layer, Domain Layer, Data Layer로 역할과 영역을 분리하여 관리했습니다.
  • Presentation Layer에는 , 뷰컨트롤러, 뷰모델이 포함되어 있습니다.
  • Domain Layer에는 Entity(모델), UseCase, Repository(Protocol)이 포함되어 있습니다.
  • Data Layer에는 DTO(네트워크 모델), Repository, Network Service가 포함되어 있습니다.

Input/Output Modeling

  • 뷰모델에 Input과 Output을 정의했습니다.
  • 뷰, 뷰컨트롤러에서 들어오는 입력 값을 Input으로 정의하고 Input과 데이터를 가공하여 뷰에 보여질 데이터를 Output으로 바인딩했습니다.

향후 MVMM-C 적용 예정

상세 내용 (트러블 슈팅 등) WIKI 작성중

후회 Wiki

About

후회 - 그때 샀으면 지금 얼마일까?

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /