[신투 프디아] 프로젝트 최종 발표 & 프로젝트 회고

이지환·2025년 10월 26일
post-thumbnail

이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다

드디어 10.24! 대망의 프로젝트 발표날이 다가왔다.

거두절미하고 바로 우리 프로젝트 소개를 해보겠다!

1. SOL-Assistant

프로젝트 소개

주식이 어려운 초보자를 위한 개인 맞춤형 대시보드 서비스(인앱서비스)

2. 프로젝트 개요

문제 인식


프로디지털 아카데미 6기 수강생 인터뷰를 통해, 초보 투자자들이 “쉽고 직관적인 정보 구조에 익숙해지면 다른 증권사로 옮기기 어렵다”는 공통된 경험을 확인했습니다.
즉, 이해하기 쉬운 정보가 플랫폼 종속을 만든다는 점이 핵심 문제였습니다.

IB 멘토 강연에서도 “핀테크의 단순함이 곧 사용자 충성도를 높인다”는 언급이 있었고, 저희의 문제의식과 일치했습니다. 실제로 키움·미래에셋 등 주요 증권사들이 2030 세대를 잡기 위해 ‘쉬운 정보’와 ‘직관적 인터페이스’를 강화하는 흐름도 확인했습니다.

이를 검증하기 위해 주식 초보자 22명을 대상으로 설문을 진행한 결과,
초보 투자자는 정보의 양보다 ‘이해하기 쉬운 요약형 정보’를 더 중요하게 생각한다는 사실을 확인했습니다.

기획 결론

그래서!
저희는, 주식이 어려운 초보자를 위한 개인 맞춤형 투자정보 대시보드 서비스, SOL 어시스턴트를 제안합니다
SOL 어시스턴트는 행동데이터와 투자성향을 바탕으로 개인화 된 주식 정보를 한 눈에, 쉽게 제공하는 신한투자증권 인앱 서비스입니다.

3. 핵심 기능

내 종목 모아보기

SOL 어시스턴트는 사용자가 최소한의 탐색으로 보유 종목 정보를 확인할 수 있는 UI를 목표로 설계되었습니다.
한 번의 클릭으로 고수의 Pick, 섹터 뉴스, 매매 신호 등 관련 정보를 바로 확인할 수 있도록 구성했습니다.

고수의 Pick

기존 고수의 픽 서비스는 매매량 중심으로만 정보를 제공해 고수의 성향이나 추세 변화를 파악하기 어려웠습니다.
SOL 어시스턴트는 이를 개선해, 나와 유사한 성향의 고수들이 어떤 종목을 어떤 흐름으로 거래하는지를 시각적으로 한눈에 확인할 수 있도록 구현했습니다.

여기서 저희는 고수의 행동데이터를 사용했습니다.
이 기능은 단고수가 실제로 어떤 종목에 관심을 가지는지를 체류 시간을 기반으로 분석합니다.

기존 서비스는 GA(Google Analytics)를 활용해 페이지 이동 시점의 로그로 체류 시간을 계산하지만,
이 방식은 마지막 페이지의 체류 시간이 누락되는 한계가 있습니다.

이를 개선하기 위해 SOL 어시스턴트에서는 10초마다 사용자 행동 로그를 백엔드로 전송하고, 이 데이터를 바탕으로 관심도 점수(Engagement Score) 를 계산했습니다.
로그는 Redis → Kafka → DB 순으로 비동기 전송되어, 대용량 데이터도 안정적으로 처리할 수 있도록 설계했습니다.

유사 차트

기존 서비스는 다양한 지표를 제공하지만, 초보 투자자 입장에서는 “이 신호가 실제로 어떤 의미를 가지는가”를 이해하기 어려웠습니다.

이를 개선하기 위해 SOL 어시스턴트는 단순히 신호를 표시하는 데 그치지 않고,
과거 동일 신호가 발생했던 시점의 주가 흐름을 현재 차트와 함께 비교하여 보여주도록 구현했습니다.
또한 각 보조지표(이동평균선, RSI, ROC, 볼린저밴드) 아래에 매매 전략과 연결된 직관적인 설명을 추가해, 초보 투자자도 신호의 의미를 쉽게 이해할 수 있도록 구성했습니다.

위험 종목 / 정리 종목 시각화

위험종목/정리종목 시각화 기능은 초보 투자자가 급등주나 정리매매 종목에 쉽게 휘둘리는 문제를 예방하기 위해 설계되었습니다.
다양한 지표를 모두 해석하기 어려운 사용자를 위해, 종목명 옆에 관리·정리매매 배지를 시각적으로 강조하여 한눈에 위험 여부를 파악할 수 있도록 했습니다.
또한 거래 단계에서도 ‘주의 종목’ 안내 문구를 노출해, 사용자가 매매 전 한 번 더 판단할 수 있는 안전한 의사결정 환경(UI) 을 제공했습니다.

4. 설계

인프라

본 프로젝트의 인프라는 프론트엔드 서버 1대와 백엔드 서버 3대로 구성되어 있습니다. 백엔드 서버는 기능별 도메인에 따라 분리된 MSA(Microservices Architecture) 구조로, 각 서비스가 독립적으로 배포되고 운영될 수 있습니다.

아키텍처 우측에서는 사용자 트래픽 흐름도를 통해 요청이 프론트엔드를 거쳐 각 도메인 서비스로 전달되는 과정을 확인할 수 있습니다. 또한, 배포 파이프라인 시각화를 통해 각 서비스가 개별 배포 그룹을 가지고 무중단 배포(Blue-Green / Rolling 방식) 를 수행함을 확인할 수 있습니다. 이를 통해 배포 시 서비스 간 장애 격리와 안정적인 운영이 가능하도록 설계하였습니다.

ERD

API 명세서

개발 스택

Frontend

  • nextjs
  • JavaScript
  • TypeScript
  • React

Backend

  • Spring
  • MariaDB

Infra / DevOps

  • Amazon AWS
  • Docker
  • Apache Kafka

5. 개발 중 이슈사항

대용량 데이터 처리

대용량 데이터 조회 시 발생한 속도 지연 문제를 해결하기 위해
스케줄링과 반정규화 방식을 적용했습니다.
그 결과, 조회 시간이 8215ms → 560ms로 단축되며 성능을 크게 개선했습니다.

행동데이터 또한 위와 같은 방법 적용

사용자 행동 로그 전송 안정화

사용자 행동 로그 전송 안정화를 위해 브라우저 종료 시 로그가 유실되는 문제를 발견했습니다.
이를 해결하기 위해 fetch 대신 sendBeacon API를 사용해, 사용자가 탭을 이탈하거나 브라우저를 닫을 때도 행동 로그가 자동 전송되도록 개선했습니다.

프로젝트 최종 후기

위와 같은 내용으로 최종 발표를 했으나!....

아쉽게도 최우수상은 수상하지 못했다..

발표 후 선임님들의 피드백이 다음과 같았다

  • 고수거래량 및 그래프에 대한 시각화 고민이 필요해보임
    • 그래프는 한눈에 보이지않음
    • 검색 STOCK MAP은 시세에따라 색이라도 변동이 되어야 눈에 보기 좋았을 것 같음
  • 각 기능에대한 완성도가 아쉬움
    • 기능은 많은데 뭔가 딱 와닿는게 없어서 어떤 내용에 집중해야할지가 어려움.
    • 딱 한개의 기능 포커싱이 있으면 좋겠다

뭔가 우리의 발표를 통해 우리의 컨셉, 기능이 잘 들어나지 않았던것같다... 너무 아쉬웠지만 그래도 너무 많이 배우고 진행하는 내내 행복했던 프로젝트였다.

PM으로서나 백엔드로서나 정말 많이 성장했다.
프로젝트를 하면서 이런 저런 많은 일들이 있었는데 이런 과정들이 당시에는 많이 힘들고 스트레스 받았지만 그런것들이 다 내가 성장하는 밑거름이 될것이라고 생각한다...

그동안 정말 고생 많았다 지환아..

profile
takeitEasy

2개의 댓글

comment-user-thumbnail
2025년 12월 11일

고생하셨습니다

1개의 답글