

포트폴리오 소개
Upbit API 기반의 암호화폐 자동매매 및 실시간 모니터링 시스템입니다.
사용자는 계정별로 실전 투자와 모의 투자를 분리하여 운용할 수 있으며, 관심 코인, 전략 조건, 진입 금액, 자산 현황, 거래 로그를 하나의 대시보드에서 통합 관리할 수 있도록 구성하였습니다.
본 프로젝트는 단순 주문 기능 구현을 넘어, 실시간 시세/캔들 데이터 처리, 사용자별 전략 설정, 거래 로그 추적, 보안 인증, 인수인계 문서화까지 포함한 운영형 서비스 구축에 중점을 두었습니다.
프로젝트 개요
1. 요구사항 분석
- 실전 투자 전 전략을 안전하게 검증할 수 있는 모의 투자 환경 필요사항 정의
- 사용자별 Upbit API 키, 관심 코인, 전략 설정을 분리 관리하기 위한 구조 설계
- 실시간 시세, 차트, 자산 현황, 매매 로그를 한 화면에서 확인할 수 있는 운영 대시보드 요구사항 정리
- 전략 조건 On/Off, 진입 금액, 익절/손절 기준 등 운영 중 자주 변경되는 항목의 UI 제어 필요사항 반영
2. UI/UX 설계 및 구현
- 로그인/회원가입과 메인 대시보드를 분리하여 인증 흐름 단순화
- 상단 상태 패널에 실전/모의 투자 전환, 잔고, 진입 금액, 수수료 설정을 통합
- 관심 코인 목록, 실시간 차트, 전략 모니터, 자산 현황, 거래 로그를 하나의 화면에서 연계 구성
- 다크/라이트 테마, 온보딩 가이드 투어, 로그 필터링, 자산 상세 내역 조회 기능으로 사용 편의성 강화
3. 프론트엔드 및 백엔드 개발
- 프론트엔드: React/Vite 기반 SPA 구축, 실시간 캔들 차트 및 이동평균선 시각화, 전략 설정 자동 저장 UI 구현
- 백엔드: FastAPI 기반 인증/회원 관리, 사용자별 코인/전략/모의 계좌 설정 API, 자동매매 루프 및 주문 처리 로직 구현
- 실시간 연동: Upbit Public/Private WebSocket을 활용한 시세, 캔들, 자산, 주문 이벤트 실시간 반영
- 보안/DB: JWT 인증, 비밀번호 해시 처리, API 키 암호화 저장, 거래 로그/모의 포지션/전략 설정 테이블 설계
4. 테스트 및 배포
- 회원가입, 로그인, 토큰 만료, 계정 정보 수정 등 인증 시나리오 테스트
- 실전/모의 모드 전환, 진입 금액 제한, 중복 매수 방지, 로그 적재, 자산 계산 검증
- 실시간 차트 갱신, 로그 무한 스크롤, 자산/거래내역 연동 등 UI 동작 테스트
- Docker Compose 기반 컨테이너 배포 구조 구성 및 사용자 매뉴얼, 환경 정의서, DB 스키마, UAT 문서 작성
주요 기능
1. 실전 투자 / 모의 투자 이원화 운영
- Upbit 실계좌 기반 실전 투자와 가상 잔고 기반 모의 투자를 각각 독립적으로 운용 가능
- 모드별 잔고, 진입 금액, 수수료, 허용 포지션(Long/Short) 설정 제공
- 실전 투자 전 동일한 전략을 모의 환경에서 사전 검증할 수 있도록 구성
2. 사용자별 전략 설정 및 자동매매 엔진
- 롱/숏 진입, 거부, 청산 조건을 사용자별로 설정 가능
- 익절/손절 기준과 세부 조건을 화면에서 On/Off 하며 즉시 반영
- 수익권 미달 시 청산을 보류하는 HOLD 로직을 포함하여 전략 운용의 유연성 강화
3. 실시간 모니터링 및 로그 추적
- 실시간 시세, 캔들, 보유 자산, 주문 이벤트를 WebSocket 기반으로 대시보드에 반영
- 전략 모니터 화면에서 이동평균 및 가격 변수를 시각적으로 확인 가능
- 실전/모의, 매수/매도 방향, 코인별 필터를 지원하는 거래 로그 조회 기능 제공
3. 사용자 계정 및 관심 코인 관리
- JWT 인증 기반 로그인과 사용자별 계정 관리 기능 제공
- Upbit API 키를 암호화 저장하여 보안성 확보
- 관심 코인 등록/활성화 기능을 통해 사용자별 감시 대상과 자동매매 대상을 분리 관리
작업 범위
- Upbit 기반 암호화폐 자동매매 시스템 기획 및 구조 설계
- 사용자 인증, API 키 보안 저장, 사용자별 설정 관리 기능 구현
- 실전/모의 투자 모드, 전략 엔진, 거래 로그, 자산 관리 기능 개발
- 실시간 차트, 전략 모니터, 자산/로그 대시보드 UI 설계 및 구현
- DB 스키마 설계, 운영 문서화, 테스트 시나리오 정리 및 배포 환경 구성
사용 기술
| 구분 | 기술 |
|---|
| 서버 | Python, FastAPI, Uvicorn, Docker, Docker Compose |
|---|
| 데이터베이스 | MariaDB, SQLAlchemy, PyMySQL |
|---|
| 프론트엔드 | React, Vite, JavaScript, Axios, CSS3 |
|---|
| 실시간/트레이딩 | Upbit API, CCXT, WebSocket, Lightweight Charts |
|---|
| 데이터 처리/보안 | Pandas, JWT(PyJWT), Passlib, Bcrypt, Fernet |
|---|
프로젝트 성과 및 의의
이번 프로젝트를 통해 실시간 시세 수집, 전략 판단, 주문 실행, 로그 기록, 사용자 설정 관리가 하나의 흐름으로 연결되는 자동매매 운영 환경을 구축하였습니다.
사용자별 실전/모의 투자 분리 구조를 적용함으로써 전략 검증과 실제 운용을 안전하게 병행할 수 있는 기반을 마련하였으며,
전략 조건을 UI에서 직접 제어할 수 있도록 구성하여 운영 중 전략 튜닝과 검증 효율을 높였습니다.
또한 실시간 로그와 자산 모니터링 기능을 통해 매매 판단 과정의 가시성과 추적성을 강화하였고,
사용자 매뉴얼, 환경 정의서, DB 스키마, UAT 문서를 함께 정리하여 유지보수와 인수인계가 가능한 형태의 서비스로 완성하였습니다.
해당 시스템은 향후 전략 추가, 거래소 연동 확장, 운영 고도화에도 유연하게 대응할 수 있는 구조로 설계되었습니다.