오늘은 종목 관련 기능을 집중적으로 고도화한 날이다.
종목 검색 결과 화면과 상세 페이지를 전면 재설계했다. 기존에는 단순 리스트였는데, 더 많은 정보를 한눈에 볼 수 있는 구조로 바꿨다.
차트도 별도 컴포넌트(StockChart)로 분리했다. 이전엔 페이지 코드 안에 섞여 있었다.
검색 결과에서 ticker 앞의 "A"가 계속 노출되는 문제를 잡았다. 백엔드와 프론트엔드 양쪽에서 이중으로 제거 처리하고 있어서 충돌이 났던 것. 백엔드 한 곳에서만 처리하도록 정리했다.
로그인 유저가 종목을 관심 목록에 추가/제거할 수 있는 기능을 구현했다. Supabase watchlist 테이블에 저장하고, 종목 상세 페이지 상단에 별 아이콘으로 토글한다.
recharts 기반 캔들차트와 기술지표 패널을 구현했다. 거래량 차트도 함께 표시된다.
뉴스 bulk upsert도 최적화했다. 기존엔 건건이 upsert해서 느렸는데 배치로 처리하도록 개선했다.
차트 지표 구현 계획서(Phase 1~3)를 먼저 만들고, Phase 1을 바로 구현했다.
차트 탭도 재설계했다. 분봉/일봉/주봉/월봉/연봉을 탭으로 구분하고, KIS API의 분봉 미지원 문제는 yfinance로 혼용하는 구조로 해결했다.
다음 작업을 위해 KIS Open API의 해외주식 지원 범위를 정리했다. NASDAQ, NYSE, AMEX, 홍콩, 일본 등 9개 거래소 지원 확인. 분봉은 해외주식 미지원, 일/주/월봉은 지원한다.
이 글의 소감을 Threads에서 확인하세요.
스레드에서 보기