[Sprint 백엔드 초급 프로젝트 9일차] Findex 프로젝트 회고

Findex 프로젝트 회고

이번 Spring 백엔드 초급 프로젝트에서 외부 금융 Open API와 연동해 지수 데이터를 제공하는 대시보드 서비스, Findex를 만들었다. 지수 정보와 지수 데이터를 자동으로 연동해 최신 데이터를 수집하고, 지수별 성과 분석과 이동 평균선 차트를 제공하는 것이 핵심 기능이었다. 프로젝트 기간은 2026.03.11 ~ 2026.03.20까지였고, 나는 지수 데이터 API 구현공통 API 처리 구성을 맡았다.

이번 프로젝트에서 가장 좋았던 점은 팀원들 간의 소통이 매우 원활했다는 것이었다. 프로젝트 초기에는 역할 분담, 요구사항 정의서 작성, ERD 작성, 코드 및 커밋 컨벤션 같은 협업 규칙을 빠르게 맞출 수 있었고, 프로젝트 시작 전 혼선을 최대한 줄일 수 있었다. 특히 GitHub Issues와 GitHub Projects를 활용해 Todo(할 일)와 진행 상황을 함께 관리해보면서 협업을 좀 더 구조적으로 진행하는 경험을 할 수 있었다.

반대로 가장 크게 배운 점은 PR 리뷰만으로 모든 문제를 잡을 수 없고, 실제 실행 테스트가 필요하다는 것이다. 리뷰 단계에서 구조적으로 괜찮아 보이던 코드도 프론트엔드에서 테스트를 진행해보면 예상하지 못했던 문제가 드러났다. 특히 이번 프로젝트에서 API 문서와 실제 프론트엔드 요청이 완전히 일치하지 않는 상황을 경험했다. 수정 요청을 처리하는 과정에서 API 명세에 따라 정의한 백엔드 DTO 필드에 없는 필드가 프론트엔드 요청에 포함된 상태로 전달되어 백엔드에서 엄격하게 예외를 발생시키는 설정을 유지하기 어려웠다. 결국 프론트엔드와의 연동을 맞추는 방향으로 대응해야 했다.

가장 기억에 남는 부분은 지수 데이터 조회 로직을 구현하는 과정이었다. 날짜 범위 조건 필터링과 커서 페이지네이션을 동시에 처리했는데, 처음에는 JPQL로 조건을 조합해 구현하려고 했다. 그런데 PostgreSQL 환경에서 LocalDate 타입 파라미터가 포함된 쿼리를 실행할 때 예상하지 못한 오류가 발생했다. 값이 정상적으로 바인딩되는데도 데이터베이스에서 타입을 제대로 추론하지 못하면서 쿼리 실행이 실패하는 상황이었다. 이 문제를 해결하기 위해 날짜 범위 조건 처리 방식을 수정하고, 첫 페이지 조회와 다음 페이지 조회를 분리하는 방식으로 구현했다.

이번 프로젝트를 통해 배운 점은 프로젝트가 단순히 기능을 잘 구현하는 것에서 끝나지 않고, 팀원들과의 소통 방식, 테스트 과정, 문제를 추적하여 해결하는 과정도 프로젝트의 중요한 일부라는 것을 느꼈다. 짧은 프로젝트였지만, 이번 초급 프로젝트에서 경험한 협업과 문제 해결 과정을 통해 다음에는 조금 더 안정적으로 개발할 수 있을 것 같다는 생각이 들었다.


팀 Notion 주소

[SB10-3팀] Sprint Spring 백엔드 초급 팀 프로젝트


GitHub Repository 주소

https://github.com/sb10-team3/sb10-Findex-team3

Leave a comment