Portfolio

Summarix

경제 뉴스·유튜브 반응·경제 지표 데이터를 통합 수집·분석하여
사용자 맞춤형 경제 인사이트를 제공하는 AI 기반 경제 뉴스 분석 웹서비스

2025.09 ~ 2025.10 · Spring Boot + FastAPI + MongoDB · 팀 프로젝트 (백엔드/데이터 중심 기여)

한눈에 보기

문제

경제 정보가 분산되어 있어, 사용자가 무엇을 봐야 하는지 판단하기 어렵습니다.

해결

뉴스·여론·지표 데이터를 수집·분석하고, 대시보드 로 한 화면에 요약했습니다.

담당

  • 이중 서버(Spring Boot + FastAPI) 데이터 흐름/응답 구조 설계 참여
  • AI 분석 서버 ↔ 웹 서버 연동(WebClient) 및 JSON 직렬화 구조 정리
  • 개인화 추천(도서/유튜브) 데이터 모델링 및 백엔드 구현

핵심 결과

  • 분석 파이프라인 변경 시에도 웹 서비스가 유지되는 구조를 확보했습니다.
  • 선호도 기반 추천을 서비스 흐름에 결합해 “다음 행동”까지 연결했습니다.
  • 데이터 수집 자동화(APScheduler)로 운영 부담을 줄였습니다.

프로젝트 개요

Summarix는 경제 뉴스, 유튜브 반응, 경제 지표 데이터를 통합 수집·분석하여 오늘의 경제 흐름을 한 화면에서 이해 할 수 있도록 구성한 웹서비스입니다.

서비스 목표

  • 뉴스·여론·지표를 통합해 시장 분위기를 입체적으로 제공
  • 요약/키워드/감성 변화로 “핵심만 빠르게 파악” 가능
  • 추천(도서/영상)으로 학습·탐색의 다음 단계까지 연결

아키텍처 방향

  • Spring Boot(Web) + FastAPI(AI/Data) 이중 서버 구조
  • 분석 파이프라인 교체가 서비스에 영향을 최소화하도록 역할 분리
  • MongoDB 문서형 스키마로 선호도/추천 확장에 유리한 구조 채택

주요 기능

뉴스 수집 · 요약

경제 뉴스를 주기적으로 수집하고 핵심 내용을 자동 요약합니다.

감성 · 핫토픽 분석

뉴스/댓글 기반으로 긍·부정 감성과 핵심 키워드, 이슈 변화를 추출합니다.

경제 지표 통합

ECOS/FRED/yFinance 데이터를 수집하여 추이를 시각화합니다.

대시보드 시각화

키워드 랭킹, 감성 변화, 트렌드 정보를 한 화면에서 제공합니다.

GPT 기반 챗봇

뉴스/지표/환율/주가 질의에 대한 응답 흐름을 제공합니다.

개인화 추천

선호도(설문/활동) 기반으로 도서 및 유튜브 콘텐츠를 추천합니다.

담당 역할 & 기여

백엔드 관점에서 “수집 → 전처리 → 분석 → 시각화 → 추천”으로 이어지는 흐름을 기준으로, 데이터 구조와 서버 간 연동 방식을 정리하고 개인화 추천 기능을 구현했습니다.

  • Spring Boot(Web) ↔ FastAPI(AI/Data) 이중 서버 구조에서 API 경계/역할 분리 설계 참여
  • WebClient 기반 서버 간 통신, JSON 직렬화 규격 및 DTO 설계
  • 회원가입 시 카테고리 선호도(Explicit) 설문 저장 로직 및 스키마 설계
  • 활동 기반 선호도(Implicit) 확장을 고려한 계층형(JSON) 구조 설계
  • 선호도 기반 도서 추천(알라딘) 및 유튜브 추천(YouTube Data API) 기능 구현
  • 뉴스/지표 자동 갱신을 위한 스케줄링(APScheduler) 구조 구성
가장 고민했던 문제 이중 서버 구조에서 “응답 표준화”와 “연동 안정성” 확보

분석 서버(FastAPI)는 데이터 처리량과 모델 변경이 잦고, 서비스 서버(Spring Boot)는 사용자 요청의 안정적인 응답이 중요했습니다. 따라서 서버 간 통신의 응답 포맷 표준화 실패 케이스 처리 를 중심으로 설계를 정리했습니다.

문제 정의

  • 분석 결과 스키마가 바뀌면 프론트/웹 서버까지 연쇄 수정이 발생할 수 있습니다.
  • 외부 API 연동과 배치 실행은 실패 가능성이 높아 운영 안정성에 영향을 줍니다.

해결 방식

  • FastAPI 응답을 “공통 Envelope(JSON)” 형태로 정리하고, Spring DTO로 매핑했습니다.
  • 프론트는 Spring의 `/api/...`를 통해서만 데이터를 받도록 구성해 변경 영향을 축소했습니다.
  • 스케줄링 작업은 실패 로그/재시도 전략을 고려해 운영 흐름을 단순화했습니다.

결과

  • 분석 파이프라인 변경 시에도 웹 서비스 레이어의 수정 범위를 줄였습니다.
  • 외부 연동/배치 실패가 사용자 경험을 직접 훼손하지 않도록 방어선을 마련했습니다.

주요 화면

Summarix 대시보드 화면
대시보드 메인
뉴스 요약
뉴스 요약
개인화 추천
개인화 추천

기술 스택

  • Frontend : HTML, CSS, JavaScript, ToastUI Chart
  • Backend(Web) : Spring Boot (Java 17, Gradle)
  • Backend(AI/Data) : FastAPI (Python), pandas, transformers
  • DB : MongoDB Atlas
  • Data : NAVER News, YouTube Data API, ECOS/FRED, yFinance

주요 모듈

Collect Preprocessing Clustering Trend & Statistics Visualization Recommendation Chatbot Spring BFF
데이터 소스 수집 대상 및 활용
  • NAVER News API: 경제 카테고리별 뉴스 수집(제목/본문/언론사/발행일)
  • YouTube Data API: 댓글/반응 기반 여론 감성 분석
  • ECOS/FRED API: 주요 경제 지표 수집(지표명/수치/단위)
  • yFinance: 주가/환율 조회(종목/가격/변동률)
분석 및 시각화 대시보드 구성 포인트
  • 키워드 랭킹: 기간별 Top-N 및 급등 단어
  • 감성 분석: 긍/부정 비율 및 감성 변화 추이
  • 오피니언 마이닝: 유튜브 댓글 기반 분포/워드클라우드
  • 기사 클러스터링: 이슈 묶음 및 요약/라벨링