2025-12-22부터 2026-01-07까지 멋쟁이사자 기초 팀 프로젝트를 마무리했다.
팀 프로젝트에 본격적으로 들어가기 전, 실무에 가까운 협업 경험을 해볼 수 있었던 첫 프로젝트였다.
백엔드
https://github.com/Development-neighborhood-association/v-log
프론트엔드
https://github.com/ckdguskoo/v-log-ui-deploy/tree/main
총 5명의 팀원이 함께 작업했고,
애자일 방식으로 여러 스프린트를 나누어 진행한 뒤 Git Flow 기반 merge 전략으로 협업했다.
이번 프로젝트에서 나는 다음 영역을 담당했다.
가장 난이도가 높았던 부분은 단연 Spring Security를 활용한 인증·인가 구현이었다.
특히 세션 기반 인증 흐름과 보안 설정을 이해하고 적용하는 과정이 쉽지 않았다.
// SecurityContextRepository 연결 -> Spring Security가 자동으로 세션 관리
http.securityContext(context -> context
.securityContextRepository(securityContextRepository())
);
SecurityContextRepository를 통한 세션 관리,
requestMatchers를 이용한 API 엔드포인트 접근 제어 등은
문서만 보고 바로 이해하기에는 꽤 까다로운 부분이었다.
여러 번 테스트를 진행하고, 에러를 직접 겪어보면서
점점 Spring Security의 전체 구조가 눈에 들어오기 시작했다.
특히 인증 정보가 어떤 흐름으로 저장되고,
요청마다 어떻게 검증되는지를 이해하는 데 많은 시간이 필요했다.
좋아요 기능은 JPA를 사용해 구현했는데,
좋아요 목록을 조회하는 과정에서 N+1 문제가 발생했다.
이를 해결하기 위해 @Query 어노테이션을 사용해
직접 JPQL(SQL)을 작성하여 조회 쿼리를 최적화했다.
이 과정을 통해 ORM의 편리함뿐만 아니라,
필요할 때는 쿼리를 직접 제어할 수 있는 능력 또한
매우 중요하다는 것을 느꼈다.
개인적으로는 백엔드 개발자를 목표로 하고 있어서
프론트엔드 작업을 적극적으로 하고 싶지는 않았다.
하지만 팀 내에서도 부담을 느끼는 영역이었고,
자연스럽게 내가 맡아 진행하게 되었다.
프론트엔드를 깊게 파고들지는 않았지만,
백엔드와 프론트엔드가 어떻게 맞물려 동작하는지 이해하는 데에는
꽤 도움이 되는 경험이었다.
처음 해보는 팀 프로젝트라 시작 전에는 걱정도 많았고 긴장도 됐다.
하지만 팀원분들이 모두 좋은 분들이라,
의견 충돌이 있더라도 타협점을 찾아가며 문제를 해결하는 과정이 재미있었다.
이번 프로젝트를 통해 단순히 좋은 코드를 작성하는 것뿐만 아니라,
이 얼마나 중요한지도 크게 느낄 수 있었다.
다음 프로젝트에서는
이번에 아쉬웠던 부분들을 보완해서
더 완성도 높은 결과를 만들어보고 싶다.