암호화폐 뉴스를 단순히 나열하는 방식에서 벗어나,
뉴스가 발행된 시간 흐름을 기준으로 시장 감성의 변화를 정리하는 프로젝트입니다.
각 뉴스의 발행 시점을 중심으로 감성 지수를 계산하고,
감성이 유의미하게 하락한 구간에만 알람을 생성해
프론트엔드에서 알람 UX와 뉴스 연결 구조를 검증하는 것을 목표로 합니다.
- 가격 변동이 아닌 뉴스가 발생한 시점을 기준으로 감성을 해석
- 단기 뉴스 흐름이 시장 분위기에 어떤 영향을 주는지 관찰하기 위한 구조
- 15분 단위 배치로 코인별 감성 점수 산출
- 모든 배치는 히스토리로 저장되어 시간 흐름에 따른 변화 추적 가능
- 감성 상태는 상승(RISE), 하락(DECLINE), 중립(STABLE)로 구분
- DECLINE 상태가 감지된 시점에만 알람 생성
- 알람은 특정 코인 자체가 아닌 특정 시간 구간의 이벤트
- 해당 시간대에 발행된 뉴스만 알람과 명시적으로 연결
- Spring Boot 3.x
- 뉴스, 감성 지수, 알람 도메인을 분리하여 관리
- Scheduler 기반 배치 처리
- 알람 및 뉴스 조회 REST API 제공
- PostgreSQL
- 뉴스 / 감성 지수 / 알람 관계형 모델링
- FK 기반 데이터 무결성 관리
- Redis (Optional)
- 캐시 및 확장 대비 구조
- 알람 목록 조회
- 알람별 뉴스 리스트 조회
- 감성 지수 차트 시각화
- 감성 하락 시 알림 UI 표현
- ALB + Target Group + Auto Scaling Group 기반 구성
- 배치 / API 서버 수평 확장 가능 구조
- 외부 요청은 ALB를 통해 Spring API로 유입
이 프로젝트는 역할이 명확히 다른 두 개의 컨테이너로 구성되어 있습니다.
- Python 기반 감성 분석 및 배치 처리 담당
- 뉴스 텍스트를 입력으로 감성 점수 계산
- 분석 결과를 Spring API로 전달
- 뉴스 크롤링 및 저장
- 감성 지수 및 알람 데이터 관리
- 알람 및 뉴스 조회 API 제공


