데브허브 | DEVHUB | Flet + Python: Build a Cross-Platform Stock Market App with Live API & Modern UIFlet + Python: Build a Cross-Platform Stock Market App with Live API & Modern UI
- Flet과 Python을 활용하여 실시간 API 및 현대적인 UI를 갖춘 크로스 플랫폼 주식 시장 앱을 구축합니다. 📈
- JavaScript 없이 Python만으로 버튼, 실시간 차트, 부드러운 UI, 실시간 데이터를 갖춘 실제 데스크톱 애플리케이션 개발이 가능합니다. 🐍
- Flet 프레임워크, Python, Alpha Vantage API (실시간 주식 데이터),
requests 라이브러리가 주요 기술로 사용됩니다. 🛠️
- 프로젝트 시작 전 가상 환경을 생성하고
flet, requests 라이브러리를 설치하며, Alpha Vantage API 키가 필요합니다. ⚙️
- Flet은 함수 기반 프레임워크로,
main 함수 내에서 page 객체를 캔버스처럼 사용하여 UI를 구성합니다. 🖼️
- 앱 제목, 테마 모드 (light/dark/system), 패딩, 창 너비/높이 등 초기 앱 설정을 통해 사용자 정의가 가능합니다. 🎨
ft.Ref를 사용하여 위젯 참조를 생성하고, ft.TextField, ft.Container, ft.Dropdown 등으로 동적인 UI 요소를 구현합니다. 🧩
- 드롭다운 메뉴를 통해 '1주', '1개월', '1년' 등 다양한 기간을 선택하여 원하는 범위의 주식 데이터를 조회할 수 있습니다. 🗓️
- Alpha Vantage API 엔드포인트에
requests 라이브러리로 요청을 보내 JSON 형식의 시계열 주식 데이터를 수신합니다. 📡
- 주식 심볼 미입력 시 사용자에게 오류 메시지(
ft.Text로 빨간색 경고)를 표시하고 UI 상태를 업데이트하여 사용자 경험을 개선합니다. ⚠️
page.update() 호출을 통해 애플리케이션의 변경 사항을 화면에 즉시 반영하여 동적인 사용자 경험을 제공합니다. 🔄
- API에서 받은 시계열 데이터에서 날짜별 시가, 고가, 저가, 종가 정보를 추출하여 차트 시각화를 위한 데이터를 준비합니다. 📊
- 데이터 로딩 중에는 "Loading stock data..." 메시지를 표시하여 사용자에게 진행 상황을 안내하고 대기 시간을 관리합니다. ⏳