서비스 구체화 현 상태 README 정리

This commit is contained in:
2026-01-27 01:08:05 +09:00
parent f2e23c1241
commit b6fd444dba

View File

@@ -26,6 +26,7 @@ Frontend, Backend, Travel Proxy, Auto Deployer를 Docker Compose로 통합하여
├── docker/ ├── docker/
│ └── webpage/ # 🚀 운영 런타임 (Docker Compose 기준점) │ └── webpage/ # 🚀 운영 런타임 (Docker Compose 기준점)
│ ├── backend/ # lotto-backend │ ├── backend/ # lotto-backend
│ ├── stock-lab/ # 🟪 stock-lab (Stock + AI)
│ ├── travel-proxy/ # travel API + thumbnail generator │ ├── travel-proxy/ # travel API + thumbnail generator
│ ├── deployer/ # webhook 기반 자동 배포 컨테이너 │ ├── deployer/ # webhook 기반 자동 배포 컨테이너
│ ├── frontend/ # 정적 파일 (Vite build 결과) │ ├── frontend/ # 정적 파일 (Vite build 결과)
@@ -59,33 +60,24 @@ Frontend, Backend, Travel Proxy, Auto Deployer를 Docker Compose로 통합하여
## 🧩 서비스 구성 개요 ## 🧩 서비스 구성 개요
```mermaid
graph LR
User[User Browser] -->|HTTP| Nginx
subgraph NAS [Synology NAS]
Nginx -->|/api/lotto| Lotto[Lotto Backend]
Nginx -->|/api/travel| Travel[Travel Proxy]
Nginx -->|/api/stock| Stock[Stock Lab]
Stock -->|Trading/Balance| KIS[KIS API (Korea Inv.)]
Stock -->|Market News| News[News Sites]
end
subgraph Windows [High-Performance PC]
Stock -->|Analyze Request| WinServer[Windows AI Server]
WinServer -->|LLM Inference| Ollama[Ollama (Llama 3.1)]
WinServer -->|GPU| GPU[NVIDIA 3070 Ti]
end
``` ```
Internet
Nginx (frontend container)
├── / → SPA (React/Vite)
├── /api/ → lotto-backend
├── /api/travel/ → travel-proxy
├── /media/... → Nginx 직접 파일 서빙
└── /webhook/ → deployer
```
---
### 🟦 Frontend (lotto-frontend)
- **역할**: React + Vite 기반 SPA로, 로또 추천 및 여행 지도 UI를 제공합니다.
- **특징**:
- 정적 파일만 운영 서버에 배포합니다.
- 장기 캐시(`assets/`)와 `index.html` 캐시 무효화 전략을 사용합니다.
- Backend / Travel API는 Nginx에서 Reverse Proxy로 연결됩니다.
- **배포 방식**:
1. **로컬 개발**:
- `.env` 파일 설정 후 `docker compose up`으로 전체 스택 실행 가능
2. **운영 배포**:
- Code를 Git에 Push
- Webhook이 트리거되어 NAS가 자동 Pull & Deploy
- (Frontend 빌드 산출물은 별도 업로드 혹은 CI 연동 필요)
--- ---
@@ -109,9 +101,25 @@ docker compose up -d
- Frontend: http://localhost:8080 - Frontend: http://localhost:8080
- Backend API: http://localhost:18000 - Backend API: http://localhost:18000
- Travel API: http://localhost:19000 - Travel API: http://localhost:19000
- Stock Lab API: http://localhost:18500
--- ---
### 🟦 Frontend (lotto-frontend)
- **역할**: React + Vite 기반 SPA로, 로또 추천 및 여행 지도 UI를 제공합니다.
- **특징**:
- 정적 파일만 운영 서버에 배포합니다.
- 장기 캐시(`assets/`)와 `index.html` 캐시 무효화 전략을 사용합니다.
- Backend / Travel API는 Nginx에서 Reverse Proxy로 연결됩니다.
- **배포 방식**:
1. **로컬 개발**:
- `.env` 파일 설정 후 `docker compose up`으로 전체 스택 실행 가능
2. **운영 배포**:
- Code를 Git에 Push
- Webhook이 트리거되어 NAS가 자동 Pull & Deploy
- (Frontend 빌드 산출물은 별도 업로드 혹은 CI 연동 필요)
--- ---
### 🟩 Backend (lotto-backend) ### 🟩 Backend (lotto-backend)
@@ -136,6 +144,27 @@ docker compose up -d
--- ---
### 🟪 Stock Lab (stock-lab)
- **역할**: 주식 시장 분석 및 AI 기반 투자 조언 제공. NAS의 편의성과 Windows PC의 고성능을 결합한 하이브리드 아키텍처입니다.
- **주요 기능**:
- **시장 뉴스 스크랩**: 네이버 증권, 해외 주요 뉴스 사이트 크롤링
- **자산 관리**: 한국투자증권(KIS) Open API 연동 (잔고 조회, 매수/매도)
- **AI 분석**: 고성능 PC의 로컬 LLM(Llama 3.1)을 활용하여 뉴스+포트폴리오 종합 분석
- **기술 스택**: Python, FastAPI, Ollama (Lava/Llama3), Docker
- **연동 구조**:
```
[NAS Stock-Lab] <--(HTTP)--> [Windows AI Server] <--(Localhost)--> [Ollama GPU]
```
- **주요 엔드포인트**:
```http
GET /api/stock/analyze # AI 시장 분석 요청
GET /api/stock/news # 최신 뉴스 데이터
GET /api/trade/balance # 계좌 잔고 조회
```
---
### 🟨 Travel Proxy (travel-proxy) ### 🟨 Travel Proxy (travel-proxy)
- **역할**: 여행 사진 API, 지역별 사진 매칭, 썸네일 자동 생성 및 캐시를 담당합니다. - **역할**: 여행 사진 API, 지역별 사진 매칭, 썸네일 자동 생성 및 캐시를 담당합니다.