주식 뉴스 분석 프로젝트 <Flask><1>
Flask 주제부터는 저장되어있는 분석 데이터와 해당 날짜의 실제 주식거래금액을 같이 출력하는 웹 서버를 제작할 예정이다.
개발환경
- OS: ubuntu 20.04
- 언어: python 3.8.10
- python 의존성
- yfinance==0.1.74 # 실제 주식 가격을 가져오기 위한 모듈
- Flask==2.2.2 # 웹 서버 프레임워크
- gunicorn==20.1.0 # WSGI
- python-dotenv==0.21.0 # .env 파일 읽기 위해
- pytz==2022.2.1 # KST(대한민국 표준시) 시간대를 불러오기 위해
- pymongo==4.2.0 # mongodb 연결을 위한 모듈
- pyflakes==2.5.0 # 코드 검사용 모듈
- PyJWT==2.4.0 # jwt 토큰을 위한 모듈(현재는 사용하지 않음)
프로젝트 구조
폴더
- root(.): 프로젝트 설명에 관한 파일들이 존재
.gitignore, LICENSE, README.md 존재 - stockserver: 프로젝트 폴더, 사실상 루트 폴더
main.py(실행 파일), .env(환경 변수 파일), requirements.txt(의존성 목록)이 존재- stockserver/middleware: 미들웨어를 넣는 폴더
현재는 cors를 헤더를 넣어주는 기능만 존재 - stockserver/my_module: 로직이 길어지는 기능들을 빼서 따로 작성한 모듈들
logger, mongodb, yfin(주식 가격), 날짜 모듈이 존재 - stockserver/pages: blueprint 라우팅 페이지 폴더
/stock/* 에 해당하는 라우팅 페이지만 존재 - stockserver/templates: 렌더링에 필요한 html 파일들
현재는 dayStatistics.html와 stockIndex.html 두 개만 사용 중
- stockserver/middleware: 미들웨어를 넣는 폴더
EndPoint
프록시 서버의 stock 경로 아래의 http 요청을 전달받는다.
현재 유효한 경로는 2개로, 인덱스 페이지와, 결과를 보여주는 페이지 2개이다.
- /stock/index: 인덱스 페이지를 출력
- GET
- 가져올 주식의 이름과 기간을 설정 가능함
- 현재 버전에서 기간 설정은 시작일을 설정하면 데이터를 POST로 전송
- 반환 값은 30일간의 데이터가 반환됨
- /stock/day: 결과를 보여주는 페이지
- POST
- /stock/index 페이지에서 전달받은 데이터를 바탕으로
- 저장 결과 및 주식 정보를 html과 함께 반환함
다음 글
작성한 flask서버를 service로 등록하는 글을 작성할 예정이다.
flask server GitHub 주소
https://github.com/mannamman/namthplaygroundStockFlask/tree/deploy
# 2022-10-05 수정
'프로젝트 > 주식뉴스분석' 카테고리의 다른 글
AWS EC2 인스턴스 볼륨추가 (0) | 2022.10.12 |
---|---|
[ubuntu]Flask 서버 service 등록 (0) | 2022.10.07 |
AWS EC2 Mysql, MongoDB 설치 (1) | 2022.09.30 |
AWS EC2 nginx + letsencrypt (0) | 2022.09.29 |
AWS EC2 IP고정(탄력적IP) 및 도메인 등록 및 연결 (2) | 2022.09.28 |