- 상수: API 키, Finnhub URL 및 거래소 코드와 같은 상수가 정의되어 있습니다.
- 열거형 (Enum): Window와 ApiChoice와 같은 열거형이 정의되어 있습니다. 이들은 애플리케이션의 다양한 상태를 나타냅니다.
- 모듈: app 모듈이 있으며, 이 모듈 내에는 애플리케이션의 주요 로직이 포함되어 있습니다. 이 모듈에는 여러 구조체와 함수가 정의되어 있습니다.
- 구조체: TotalApiChoices, FinanceClient, State, Command, ApiCommand 등의 구조체가 정의되어 있습니다. 이들은 애플리케이션의 주요 데이터 구조를 나타냅니다.
- 함수: 이벤트 처리, 터미널 그리기, 명령 수신 등의 기능을 수행하는 함수들이 있습니다.
- api 모듈: Finnhub API의 응답을 나타내는 구조체가 정의되어 있습니다.
이 프로젝트는 사용자 인터페이스를 통해 주식 시장 데이터를 검색하고 결과를 표시하는 기능을 제공합니다. 사용자는 키보드 이벤트를 통해 검색을 수행하고, 애플리케이션은 Finnhub API를 통해 데이터를 가져옵니다. 이 데이터는 다양한 형식으로 처리되고 사용자에게 표시됩니다.
[시스템 구조도]
- 추후 그래픽 툴을 이용해서 고도화된 시스템 구조를 업로드할 계획 입니다.
[ 사용자 ] | V [ 키 이벤트 처리 (handle_event 함수) ] | V [ 명령 생성 (Command 열거형) ] | V [ 상태 업데이트 (State 구조체) ] | V [ API 요청 생성 (ApiCommand 열거형) ] | V [ Finnhub API 요청 (FinanceClient 구조체) ] | V [ API 응답 처리 및 결과 생성 ] | V [ 결과 표시 (draw_terminal 함수) ]