프론트엔드 추가 및 자동매매 로직 개선:
Some checks failed
Build Push and Restart Compose / deploy (push) Failing after 1m42s

- Svelte 기반 프론트엔드 프로젝트 초기 설정 추가 (`vite`, `tailwindcss` 등 포함).
- "자동매매" 주요 상태 및 규칙 관리 페이지 구현.
- 1차/2차 손절 및 익절 조건 평가 로직 추가(`calcStopTargets`, `evalExitReason` 등).
- 포지션 상세 로그 및 WebSocket 기반 실시간 로그 스트림 추가.
- API 서비스 및 Frontend 간 Proxy 설정(Vite 서버).
- 세션 체크를 위한 `CheckSession` 핸들러 추가.
This commit is contained in:
hayato5246
2026-04-05 20:30:52 +09:00
parent f10a1ede3b
commit 00ffc6b54c
58 changed files with 6425 additions and 104 deletions

View File

@@ -25,6 +25,7 @@ type Config struct {
WSPollIntervalMS int
AdminID string // 관리자 ID
AdminPassword string // 관리자 비밀번호
CORSOrigin string // CORS 허용 오리진 (예: http://localhost:5173)
}
var App *Config
@@ -37,21 +38,22 @@ func Load() {
}
App = &Config{
Env: getEnv("APP_ENV", "development"),
ServerPort: getEnv("SERVER_PORT", "8080"),
AppKey: getEnv("KIWOOM_APP_KEY", ""),
AppSecret: getEnv("KIWOOM_APP_SECRET", ""),
BaseURL: getEnv("KIWOOM_BASE_URL", "https://openapi.koreainvestment.com:9443"),
Env: getEnv("APP_ENV", "development"),
ServerPort: getEnv("SERVER_PORT", "8080"),
AppKey: getEnv("KIWOOM_APP_KEY", ""),
AppSecret: getEnv("KIWOOM_APP_SECRET", ""),
BaseURL: getEnv("KIWOOM_BASE_URL", "https://openapi.koreainvestment.com:9443"),
DartAPIKey: getEnv("DART_API_KEY", ""),
NaverClientID: getEnv("NAVER_CLIENT_ID", ""),
NaverClientSecret: getEnv("NAVER_CLIENT_SECRET", ""),
GroqAPIKey: getEnv("GROQ_API_KEY", ""),
GroqModel: getEnv("GROQ_MODEL", "llama-3.3-70b-versatile"),
CacheTTLSeconds: getEnvInt("CACHE_TTL_SECONDS", 1),
WSMaxClients: getEnvInt("WS_MAX_CLIENTS", 100),
WSPollIntervalMS: getEnvInt("WS_POLL_INTERVAL_MS", 1000),
AdminID: getEnv("ADMIN_ID", "admin"),
AdminPassword: getEnv("ADMIN_PASSWORD", ""),
CacheTTLSeconds: getEnvInt("CACHE_TTL_SECONDS", 1),
WSMaxClients: getEnvInt("WS_MAX_CLIENTS", 100),
WSPollIntervalMS: getEnvInt("WS_POLL_INTERVAL_MS", 1000),
AdminID: getEnv("ADMIN_ID", "admin"),
AdminPassword: getEnv("ADMIN_PASSWORD", ""),
CORSOrigin: getEnv("CORS_ORIGIN", ""),
}
}