주식 거래 프로젝트는 해외 주식의 실시간 주가 정보와 거래 기능을 제공하는 웹 애플리케이션입니다. Python 스크립트를 사용하여 주식 데이터를 가져오고, Spring Boot를 이용하여 데이터를 보여줍니다.
- 실시간 주가 업데이트
- 주식 검색 및 필터링
- 주식 데이터 페이지네이션
- 해외 주식 주문 기능
- 계좌 잔고 및 거래 내역 확인
- Slack 통합을 통한 알림 수신
- Java 17
- Spring Boot 2.7.x
- Python 3.8+
- PostgreSQL
- Thymeleaf
- Slack API
- Java Development Kit (JDK) 17 이상
- Python 3.8 이상
- PostgreSQL 데이터베이스
- 필요한 Python 라이브러리:
pandas,yfinance,requests
- 저장소 클론:
git clone https://github.com/flcat/stock_market.git - 프로젝트 디렉터리로 이동:
cd stock_market - Python 의존성 설치:
pip install -r requirements.txt - Spring Boot 애플리케이션 빌드:
./mvnw clean package - PostgreSQL 데이터베이스 설정 및
application.properties에 구성 업데이트 application.properties에 Slack API 자격 증명 구성- Spring Boot 애플리케이션 실행:
java -jar target/stock_market-0.0.1-SNAPSHOT.jar http://localhost:8080에서 애플리케이션 접속
주식 거래 프로젝트는 다음과 같은 API 엔드포인트를 제공합니다:
GET /api/price/{ticker}: 주어진 티커 심볼에 대한 실시간 주가 정보 가져오기POST /api/order/{id}: 해외 주식 주문 요청
자세한 API 문서, 요청/응답 형식 및 인증 세부 정보는 API 문서를 참조하세요.
config/: 외부 서비스에 대한 구성 클래스controller/: HTTP 요청 처리를 위한 Spring MVC 컨트롤러dto/: 요청/응답 페이로드를 위한 데이터 전송 객체entity/: 데이터베이스 매핑을 위한 JPA 엔티티exception/: 커스텀 예외 클래스repository/: 데이터베이스 액세스를 위한 Spring Data 리포지토리service/: 비즈니스 로직 서비스util/: 유틸리티 클래스vo/: 외부 API 응답을 위한 값 객체static/: 정적 리소스(CSS, JavaScript)templates/: 뷰 렌더링을 위한 Thymeleaf 템플릿stock_scripts/: 주식 데이터 가져오기를 위한 Python 스크립트nasdaq100_data_crawling.py: 나스닥 100 지수 주식 데이터를 크롤링하는 Python 스크립트
python_workspace/stock_list/: 주식 데이터 CSV 파일이 저장되는 디렉터리
기여는 언제나 환영합니다! 프로젝트에 기여하려면 다음 단계를 따라주세요!
- 저장소 포크
- 새 브랜치 생성:
git checkout -b feature/your-feature-name - 변경 사항 커밋:
git commit -m 'Add some feature' - 브랜치 푸시:
git push origin feature/your-feature-name - 풀 리퀘스트 열기
코드가 Java 코드 규약과 Python 스타일 가이드를 준수하는지 확인해주세요!
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다.
A: application.properties에서 slack.token과 slack.channel 속성에 Slack API 토큰과 채널 ID를 각각 업데이트합니다.
A: stock_scripts/ 디렉터리에 새 Python 스크립트를 만들고, MarketPriceService를 업데이트하여 새 스크립트를 실행하도록 합니다.
