본문 바로가기
프로디지털아카데미

[Open API를 활용한 금융서비스 프로젝트] SumEarly 발표 후 회고

by SoU330 2025. 8. 1.

 
 
 
 
 

이 글은 알파코에서 진행 중인 [신한투자증권] 프로디지털아카데미의 과정에서 신윤수 강사님과 진행한 프로젝트를 기반으로 작성되었습니다
 
 
 
 

 

프디아 첫 번째 본프로젝트 과정 [Open API 를 활용한 금융서비스를 제공하는 웹 사이트 구축]을 마쳤다.
7/3 ~ 29일까지 약 4주동안 진행됐다.
 
오뚜기라는 팀명에서 알 수 있듯이.. 우리팀은 우여곡절이 많았다.
 
프로젝트를 마치고 개인적인 회고를 남겨보려고 한다! 
 
1. 기획
2. 백엔드 개발
3. 프론트 개발
4. 발표 준비
 
 

기획

프디아 처음 들어왔을 때부터 많은 과정 중 실무P1을 기대했다.
증권사와 관련되면서도 요즘 금융 트렌드와 맞고 실무와 비슷한 경험을 하고싶었기 때문이다.
 
우리 팀은 주제를 정말 많이 생각했다.
아이디어마다 조금씩은 애매한 부분이 있었고, 실제 직원이 아니다보니 구현하는데에 한계도 많고, 좋은건 이미 다 잘 나와있고..  팀원들끼리 의견이 모두 일치하지 않기도 했다.
서로의 아이디어를 설득하는 시간을 갖기도 하고,
어떤 아이디어는 ERD와 피그마 작성까지 했는데도 중간에 아니다 싶어 태초로 되돌아오기도했다.
 
다른팀들 다 개발할 때 남아서 기획 갈피조차 못 잡을 때의 기분이란.. 그 땐 진짜 우리팀 어떡하나 싶었다.
생각과 회의를 거듭해서 밤 사이에 보유한 미국 증시를 요약하는 웹앱으로 하기로 결정했다.
 

고민의 흔적들

 
많은 아이디어들 중에 추려서 고도화했던 것들인데 결국 저 중에서 하지도 않았다.
좋은 기획으로 발전할 수 있었던 기간이라고 하자..
 
 

 
 
 
 
 
 
 
 

백엔드 개발

아직 백엔드 과정 전이었지만 우리팀은 전원이 백엔드 지망생이었기 때문에 스프링 부트 개발 경험이 있었다.
기획이 늦게 끝난만큼 개발 기간은 2주 남짓이었는데 모두 맡은 바를 큰 무리없이 해오기도 했고, 주말에도 시간을 투자해서 마무리 할 수 있었다.
 
개인적으로 어려웠던 점은 Spring Batch를 처음 적용해 봤는데 역시 처음하는건 어려웠다...
h2에 배치 테이블을 만드는 과정에서 계속해서 오류가 나는데 어느 부분이 문제인지 알아내는 과정이 오래 걸렸다.
그리고 우리가 대용량 데이터를 처리하는건 아니다 보니 배치의 효과를 체감하진 못했던 것 같다.
차라리 비동기 처리 + 재시도 로직을 추가하는게 현재 수준에서의 성능개선에서는 더 효과적이었을 것 같다.
 

도메인 많쥬?..

우리 서비스의 메인이라고 볼 수 있는 뉴스 크롤링 배치 작업이 스케줄링된 부분이다.
여기서 사용자들이 가지고 있는 뉴스 크롤링 -> 요약 -> 투자성향별 첨언 -> 회원별 현재 보유주식 저장 -> 회원별 총평요약 -> 알림 저장 이 일어나는 시작점이라고 볼 수 있다.
 
백엔드 개발을 하면서.. 김영한 쌤 강의를 미리 듣지 않았다면 팀원들의 페이스를 따라가기 힘들었겠다는 생각이 들기도 했다.
코드를 클린하게 작성하려고 노력했으나 시간이 지날수록 쫓기는 상황이라 구현 자체에만 집중해버리기도 했다.
이제 프로젝트 끝났으니 리팩토링 하면 좋을 것 같다.
 

API 공장이 되..

 
발표 당시에는 포커스가 요약&스크랩 쪽에만 집중이 된 것 같긴하지만 인증인가, 공시, 어닝콜 등 프로젝트 곳곳에 팀원들의 노고가 들어있다.
 
 
 
 

프론트 개발

프론트 프로젝트이다 보니 UI가 중요할텐데.. 우리팀은 다 백엔드 지망생이었기 때문에 좀 걱정이었다.
그래서 수업 중 배운 Next를 이용하기로 했고, 클라우드 과정 중 알게 된 V0라는 사이트를 통해 초안을 잡았다.
 
그리고 중간 발표까지는 열심히 백엔드 스케줄링과 배치, 크롤링, 인증/인가등 다양한 api를 생산하고 발표를 했는데.. 다른팀들을 보니까 우리께 UI적으로 많이 부족하다고 느꼈다.
그래서 front에도 신경을 많이 쓰면서 화면을 만들었다.
 
 
 
 

 
왼쪽이 V0가 해준 초안이고 오른쪽이 우리가 수정해서 최종적으로 완성된 화면이다.
주식 아이콘이랑 화면에 들어간 아이콘, 글자가 움직이는 시간도 고려했다.
 
 

처음엔 반응형 없이 화면 크기를 특정 폰 사이즈로 고정해놓고 개발했었는데 나중엔 데스크탑, 태블릿, 모바일 등 다양한 화면 크기를 적용해보며 어디에서든 앱이 예쁘게 보일 수 있도록 신경썼다.
강사님이 Responsive Viewer 이라는 확장 프로그램을 알려주셔서 화면별로 테스트해보기 훨씬 수월했다.
 
 

나는 프론트를 많이 맡진 않았다. 메인 페이지 총 요약 부분과 알림, 마이페이지였다.
앱의 전체적인 무드를 맞추려고 (이쁜 카드 페이지 & 홈화면에 어울리도록) 노력했다.
마이페이지에서는 캐릭터를 사용했는데 신투 캐릭터들을 보면 각자의 성격/취미 등이 상세히 적혀있다.
그걸 참고해서 공격형 투자자나 안정형 투자자라는 성향을 부여해서 프로젝트에 어울리도록 했다.
 
 
 
 
 
 
 
 
 

 

발표 준비

우리팀은 마지막날의 마지막까지도 바빴다.
그래도 내가 비교적 여유로운거 같아 PPT를 제작하겠다고 했다.
전에 학교에서 캡스톤 디자인 ppt를 기깔나게 만드는 팀원이 있었는데 그 때 우리가 노력한 결과를 결국 ppt와 발표로 판가름 된다는 것을 깨닫고.. 본받아서 우리가 고생한만큼의 결과물을 보여줄 수 있도록 노력했다.
 
팀원들이 산출물도 잔뜩 만들어주고 발표 구성도 다시 잡아줘서 더더욱 완성도 높은 발표 자료가 되었다.
 

 
 
강사님이 초반에는 이 프로젝트에 몰입할 수 있도록 설득하는 과정이 중요하다고 하셔서 그 부분도 신경을 썼다.
팀원분이 현재는 사용자가 어떻게 정보를 얻고있고, 우리 프로젝트를 이용해서는 어떻게 개선할 수 있는지 페이지를 추가해 주셨는데
그 부분을 추가하길 정말 잘한것 같다!
 
 
 
 
 

마치며..

 
무엇보다 투운사, 해커톤, 정보보안기사 등 다른 중요한 일정이 많았음에도 끝까지 열심히 몰입해준 팀원들에게 너무 고맙다! 
팀장이었고 발표로 우리 프로젝트를 잘 전달해준 준호오빠와.. 소처럼 일한다더니 소보다 열배는 더 일한 젤 고생한 채연이와.. 핵심이었던 카드 UI와 크롤링을 담당했던 인찬님까지.. 뚝딱뚝딱 해내는 팀원들이 있어서 든든했어요~~!!
 
알찼던 프로젝트 끝-!