Giter Site home page Giter Site logo

bithumb_market's Introduction

Hi there 👋

bithumb_market's People

Contributors

hoonhachoi avatar idoyoung avatar jiinheo avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

idoyoung jiinheo

bithumb_market's Issues

CandleStick Graph 구현

✔️ 설명

  • CandleStick Graph 구현

✔️ 체크리스트(구현목록)

  • 데이터 가져오기
  • remove 메서드 수정
  • stick 메서드 변경
  • price, date 메서드 분리
  • candleStick 구현
  • LineGraph, CandleStick Graph 분기처리

✔️ 기타

메모리 누수 확인 및 제거

✔️ 설명

  • 체결내역, 호가, 그래프, 입출금 메모리 누수 확인

✔️ 체크리스트(구현목록)

  • Transaction
  • OrderBook
  • AssetsStat
  • Like(관심)
  • Graph

✔️ 기타

그래프 Refactoring

✔️ 설명

  • 그래프 Refactoring

✔️ 체크리스트(구현목록)

  • Graph View Layout 변경
  • UIScrollVIew + Extension 추가
  • init 제거
  • 현재가 표시
  • 0.0002원 처리
  • 그래프 넓이 동적으로 바꾸기
  • 자세히보기 버튼 변경
  • MinMax Price 표시
  • CandleStick Rectangle Round 적용

✔️ 기타

그래프 코어데이터 추가

✔️ 설명

  • 그래프 데이터를 저장할 코어데이터 추가

✔️ 체크리스트(구현목록)

  • 코어데이터 모델 생성
  • 모델 Transformer 추가
  • 코어데이터 관리 객체 추가

✔️ 기타

DetailView ScrollView 구현

✔️ 설명

  • DetailView ScrollView 추가 및 ui 수정

✔️ 체크리스트(구현목록)

  • DetailView ScrollView 추가 및 적용
  • DetailView UI 수정

✔️ 기타

Orderbook View 및 View Model 수정

✔️ 설명

  • Orderbook View의 Price Label 텍스트 소수점일 경우 오류 수정
  • 빠르게 스크롤시 살짝 끈키는 오류 해결

✔️ 체크리스트(구현목록)

  • Orderbook View의 Price Label 수정
  • 빠르게 스크롤시 살짝 끈키는 오류 해결

✔️ 기타

그래프 라인, 봉 변경 UI, 로직 추가

✔️ 설명

  • 그래프 봉 ,라인 변경 UI 추가

✔️ 체크리스트(구현목록)

  • 그래프 봉 ,라인 변경 UI 추가
  • 그래프 봉, 라인 변경 로직 추가

✔️ 기타

Graph Touch 구현

✔️ 설명

  • Graph 터치 시 정보 표시

✔️ 체크리스트(구현목록)

  • Graph Touch Point 구하기
  • Touch Point에 View 그리기
  • Point X Index 찾기
  • touch 메서드 구현
  • scale값 구하기
  • index out of range 예외처리
  • Point x가 leading 50 trailing -50일 경우 예외처리
  • Price CGFloat -> String -> withComma 변환
  • Stick -로 넘어가는 부분 처리
  • 그래프 편차 고려 최저, 최대 높이에 맞게 조정
  • 날짜 정보 추가

✔️ 기타

MainViewModel 로직 업데이트

✔️ 설명

  • 로직 업데이트

✔️ 체크리스트(구현목록)

  • 불필요한 메서드 제거
  • 거래대금 변동사항 적용

✔️ 기타

상세 화면 관심 등록 삭제 구현

✔️ 설명

  • 상세화면 하트 클릭시 관심 등록 삭제 기능 구현

✔️ 체크리스트(구현목록)

  • DetailViewModel 추가, LikeStorage 추가
  • 하트 클릭시 심볼 저장 및 삭제 로직
  • 데이터 유무에 따른 하트 상태 변경

✔️ 기타

코인 목록 요청, 데이터 가공 반환, 코인 모델 타입 추가

✔️ 설명

  • 코인 목록 네트워크 요청, 요청 후 데이터 모델로 가공 반환, 코인 모델 타입 추가

✔️ 체크리스트(구현목록)

  • 코인 목록 요청
  • 코인 데이터 Serialize, decode
  • 코인 데이터 가공
  • 코인 모델 타입 추가

✔️ 기타

  • Endpoint 수정

상세 보기 UI 구현

✔️ 설명

  • 상세 보기 화면 구현

✔️ 체크리스트(구현목록)

  • 상세보기 UI 구현

✔️ 기타

거래대금UI 추가

✔️ 설명

  • 거래대금 UI 추가

✔️ 체크리스트(구현목록)

  • 하트 제거 및 stackView 추가
  • 거래대금 UI 추가

✔️ 기타

호가정보화면 UI 구현

✔️ 설명

  • 호가 정보화면 UI 구현

✔️ 체크리스트(구현목록)

  • TableView
  • 매도 Cell
  • 매수 Cell

✔️ 기타

Orderbook View 및 상수 수정

✔️ 설명

  • Orderbook View 수정

✔️ 체크리스트(구현목록)

  • 호가 Label Text 변경
  • 호가 Cell Text Color 변경
  • Table view scroll center
  • Namespace

✔️ 기타

SocketService 분리 및 수정

✔️ 설명

  • 소켓 객체 분리
  • 각 뷰 소켓 메소드 수정

✔️ 체크리스트(구현목록)

  • 소켓 객체 분리
  • 각 뷰 소켓 메소드 수정

✔️ 기타

호가 UI 수정

✔️ 설명

  • Orderbook View UI 수정

✔️ 체크리스트(구현목록)

  • 현재가 배경색 추가
  • 총 매도 매수량 뷰 추가

✔️ 기타

GraphDetailView 구현

✔️ 설명

  • GraphDetailView 구현

✔️ 체크리스트(구현목록)

  • 자세히보기 버튼 추가
  • GraphDetailView
  • 그래프 CPU 성능 개선
  • CurrentGraphBar추가

✔️ 기타

LikeCoreData 구현

✔️ 설명

  • 관심 기록하는 코어데이터 추가

✔️ 체크리스트(구현목록)

  • Entity 구현, 모델 서브 클래스 추가
  • 관심을 관리하는 코어데이터 생성
  • 저장 및 불러오기 로직 추가
  • MainViewModel 불러오기 로직 추가

✔️ 기타

그래프 디테일 초기화 및 바인딩

✔️ 설명

  • 그래프 디테일 초기화 및 바인딩

✔️ 체크리스트(구현목록)

  • Appdependency GraphDetailViewController 생성
  • DetailViewController 바인딩
  • GraphDetailViewController 생성자 초기값 값 전달

✔️ 기타

ColorAsset 추가

✔️ 설명

  • 컬러 Assert 추가

✔️ 체크리스트(구현목록)

  • 컬러 Assert 추가
  • UIColor Extension 추가

✔️ 기타

Main 가상화폐 목록 리스트 리로드 이슈 수정

✔️ 설명

  • 목록 관심 리로드 타이밍이 맞지않아 에러를 일으킴 치명적인 에러라 꼭 고쳐내야한다.
  • DiffableDataSoure 추가
  • struct에서 class로 변경한 이유 DiffableDataSourece의 reloadItems를 사용하기 위해서이다
  • reloadItems struct 되지 않는다 구조체 인스턴스를 가져오기떄문에 reloadItems 메서드가 동작하지 않으며
  • class 로 참조를 해야 reloadItems가 동작한다

appendItems,
insertItem, deleteItems
두 방법으로도 변경이 가능하지만 appenditems 사용하면서 계속 넣어야 되는게 맞을까? insert ,delete 하면서 새로 변경하는게 좋을까
이해가 되지 않는다 reload를 하면 어떤일을 하는지 명확하게 알 수 있을거같다.
또한 두번째 문제점이 있다 셀마다 선이 있는데 스크롤 후 걸치고 있는 중 걸친 셀이 업데이트가 발생하게 되면 걸친 셀의 맨 위로 화면이 이동하게 되어서 부자연스럽게 느껴지므로 꼭 reloadItems로 했어야했다.

✔️ 체크리스트(구현목록)

  • DiffableDataSource 추가
  • Ticker struct -> class 변경
  • 가상화폐 업데이트 로직 수정
  • 불필요한 코드 제거
  • MainEmptyView 추가

✔️ 기타

로컬데이터를 활용한 그래프 draw 로직

✔️ 설명

  • 로컬데이터를 활용한 그래프 draw 동작 로직 구현

✔️ 체크리스트(구현목록)

  • Graph ViewModel CoreData logic 추가
  • 버튼 액션 마다 그래프 코어데이터 유무 확인후 불러오기 및 저장
  • 중복 터치를 방지하기 위한 LoadingView 추가

✔️ 기타

Orderbook View Model 구현

✔️ 설명

  • 호가 정보 뷰를 위한 Orderbook 데이터 모델과 뷰 모델 구현

✔️ 체크리스트(구현목록)

  • Orderbook Model
  • Orderbook View Model

✔️ 기타

체결내역 화면 UI 구현

✔️ 설명

  • Transaction ViewController 구현

✔️ 체크리스트(구현목록)

  • rootViewController 설정
  • TableView 구현
  • TableViewCell 구현

✔️ 기타

코인 테이블 헤더뷰 구현

✔️ 설명

  • 코인테이블뷰 헤더뷰 구현

✔️ 체크리스트(구현목록)

  • 뷰 추가
  • UI 디테일 수정

✔️ 기타

Price ViewModel 구현

✔️ 설명

  • Price ViewModel 구현

✔️ 체크리스트(구현목록)

  • Price ViewModel 구현
  • Price Model 구현

✔️ 기타

Socket 추가

✔️ 설명

  • 소켓 객체 추가

✔️ 체크리스트(구현목록)

  • 라이브러리(Starscream)
  • Socket 객체 생성
  • APIService 소켓 메서드 추가

✔️ 기타

REST API 요청 구현

✔️ 설명

  • REST API 데이터 모델과 요청 기능 구현

✔️ 체크리스트(구현목록)

  • REST API Ticker Model
  • Network Service
  • EndPoint

✔️ 기타

메인화면 UI 구현

✔️ 설명

  • 메인 화면 UI 구현

✔️ 체크리스트(구현목록)

  • SegmentControl(목록, 관심)
  • TableView
  • TickerCell

✔️ 기타

Transaction ViewModel 옵져버블 적용

✔️ 설명

  • Transaction View Model 옵저버블 적용

✔️ 체크리스트(구현목록)

  • 옵저버블 적용
  • ViewModel 리펙토링
  • Transaction Socket

✔️ 기타

관심 리스트 필터링 구현

✔️ 설명

  • 관심 클릭시 테이블뷰의 관심으로 등록한 리스트만 노출 되도록 구현

✔️ 체크리스트(구현목록)

  • SegmentActionHandler 추가
  • MainViewModel FIlter 옵저버 추가
  • 가짜 필터 목록 추가 및 데이터 바인딩
  • 테이블 뷰 목록,관심 리로드

✔️ 기타

유틸 추가 1

✔️ 설명

  • 옵저버블 추가, 넘버포멧 추가

✔️ 체크리스트(구현목록)

  • 옵저버블
  • 넘버포멧

✔️ 기타

Main ViewmModel 구현

✔️ 설명

  • Viewmodel 구현

✔️ 체크리스트(구현목록)

  • Viewmodel 구현
  • MainDataSource 옵저버 바인딩
  • Ticker 소켓 요청

✔️ 기타

MainView UI 업데이트

✔️ 설명

  • 메인 뷰 UI 노출 및, 실시간 UI 업데이트 추가

✔️ 체크리스트(구현목록)

  • SceneDelegate RootViewController 추가
  • 실시간 업데이트 추가
  • 실시간 업데이트시 cell BackgroundColor 변경 추가

✔️ 기타

Orderbook ViewModel 옵져버블 적용 및 구현

✔️ 설명

  • Orderbook View Model에 옵져버블 적용 후 그에 따른 리펙토링

✔️ 체크리스트(구현목록)

  • 옵져버블 적용
  • ViewModel 리펙토링
  • Socket 통신 구현
  • DataSource 구현

✔️ 기타

AssetsStatus ViewModel 구현

✔️ 설명

  • AssetsStatus ViewModel 구현

✔️ 체크리스트(구현목록)

  • AssetsStatus Model 구현
  • AssetsStatus ViewModel 구현

✔️ 기타

EndPoint 리팩토링

✔️ 설명

  • Endpoint 리팩토링

✔️ 체크리스트(구현목록)

  • endpoint 리팩토링

✔️ 기타

Transaction ViewModel 구현

✔️ 설명

  • Transaction ViewModel 구현

✔️ 체크리스트(구현목록)

  • Transaction ViewModel
  • Transaction Model

✔️ 기타

소켓 객체 추가 및 로직 구현

✔️ 설명

  • 소켓 객체 추가 및 로직 구현

✔️ 체크리스트(구현목록)

  • Socket 객체 추가
  • 소켓 Ticker 데이터 추가
  • 소켓 로직 구현

✔️ 기타

DI 구현 및 적용

✔️ 설명

  • DI 구현 및 적용

✔️ 체크리스트(구현목록)

  • MainViewController DI 구현
  • DetailViewController DI 구현
  • TransactionViewController DI 구현
  • OrderbookViewController DI 구현

✔️ 기타

Detail View Graph 구현

✔️ 설명

  • Detail View Graph 구현

✔️ 체크리스트(구현목록)

  • CandleStick Model 구현
  • Graph ViewModel 구현
  • Decodable
  • DetailView GraphView 추가
  • Graph 구현
  • 종가 기준 라인 그래프 구현

✔️ 기타

Orderbook View 바인딩

✔️ 설명

  • Orderbook View에 View Model 적용 및 바인딩

✔️ 체크리스트(구현목록)

  • Orderbook view 바인딩

✔️ 기타

그래프 뷰 수정

✔️ 설명

  • 그래프 뷰 수정

✔️ 체크리스트(구현목록)

  • 그래프 뷰 update 수정

✔️ 기타

Ticker Model 리팩토링

✔️ 설명

  • 문자열 포장 된 객체 추가, 보다 좋은 코드를 만들기 위한 작업
  • 변경 상태 메서드 수정

✔️ 체크리스트(구현목록)

  • 변경상태 메서드 수정
  • Market 프로퍼티 수정
  • ReceiveTicker value 추가

✔️ 기타

Detail View 바인딩

✔️ 설명

  • Detail View 바인딩 및 UI 적용

✔️ 체크리스트(구현목록)

  • CurrentPrice View 바인딩
  • AssetsStatus View 바인딩

✔️ 기타

UIScrollView Extension 추가

✔️ 설명

  • UIScrollView Extension 적용

✔️ 체크리스트(구현목록)

  • scrollToEnd 메서드 변경
  • UIScrollView Extension 적용

✔️ 기타

GraphView에 Time Select 적용

✔️ 설명

  • GraphView에 Time Select 적용

✔️ 체크리스트(구현목록)

  • GraphView에 Time Select 적용

✔️ 기타

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.