Tusori(투설이)

생성일
2024/01/04 → 2024/04/18
Position
BE
PM
FE
TypeScript
React
BE
Java
AWS
SpringBoot
Python
MySQL
Tools
IntelliJ
GitHub
Figma
PyCharm
Postman
MySQLWorkbench

기획 의도 및 기능

투자 기초 설명서
주식 투자를 해보지 않거나 어렵다고 느끼는 사용자를 위한 모의 투자 웹사이트
주요 기능
1. 홈
지수 - 코스피, 코스닥, 환율
실시간 거래량 TOP 5 - 코스피, 코스닥, 코넥스(거래량 기준)
MY 보유주식 TOP 5
2. 주식사전
3. 업종별시세
업종별 전일비 - 코스피, 코스닥, 코넥스
1) 종목 페이지
종목별 지수
2) 종목 상세페이지
종목 정보 및 지수, 기업소개, 동일 업종 비교, 매수/매도
4. 마이페이지
유저 정보, 자산 정보 - 초기화 가능
MY 보유 주식
관심 주식
매수/매도 일지

역할

기획, 기능명세서 작성
API 명세서 작성, ERD 작성
Python 라이브러리를 활용한 주식 API 구축
Library FinanceDataReader
Data 코스피, 코스닥, 코넥스, 환율 (종가, 전일비, 등락률) (주봉, 월봉, 1개월, 3개월 1년, 3년, 10년 - 그래프)
Data 기업 정보 - 기업 코드 기준으로 조회 (기업 코드 / 기업명, 종가, 전일비, 등락률, 거래량 / 시가, 고가, 저가 / 시가총액, 상장주식수)
Library Pykrx
Data PBR, PER, EPS, DIV
유저 정보 및 보유주식, 매수/매도 주식 정보 DB에서 가져오기 및 구현
보유주식 - 평가손익금, 평가손익률, 보유일 추가
관심 주식 CRUD 및 구현
관심주식 - 기업 코드 기준으로 조회 (기업 코드, 기업명, 종가, 전일비, 등락률, 고가, 저가, 거래량, 시가총액)
AWS 배포(EC2, RDS, Nginx)
서버: SpringBoot, FastAPI
프론트: typescript

구현

회고

어려웠던 점
다양하고 많은 데이터 처리
fastAPI를 사용한 RESTful API 개발 첫 경험
SpringBoot 내 Swagger 사용 및 SSE 알림 구현
환경 변수 설정 및 관리, 암호화
SpringBoot: Jasypt(Java Simplified Encryption) 라이브러리
fastAPI: .env 파일 → .gitignore에 추가
배포
SpringBoot(8080)와 FastAPI(8000)를 동시 배포
서버와 프론트 동시 배포
해결방안
가독성을 높이고 유지보수를 위해 코드 리팩토링
도메인별로 분류
중복 코드 → 메서드화
Nginx 활용 → 블로그에 글을 작성하여 공유