Spring Boot 3.3
Java 17
PostgreSQL
Redis
Nginx
JPA
Hibernate
Liquibase

TRIT

외국인 관광객 대상 콘텐츠, 예약, 채팅, 위치 기반 기능을 제공하는 관광 플랫폼의 백엔드 개발 및 유지보수 담당

2025년 7월 - 2025년 8월상태: completed카테고리: web

문제

콘텐츠, 예약, 채팅, 위치 기반 기능을 포함한 복합 도메인 서비스에서 조회 성능과 스키마 변경 안정성이 모두 중요했다. JPA 연관 엔티티 조회 과정에서 N+1 쿼리 문제가 발생했고, 로컬·개발·운영 환경 간 스키마 변경을 안전하게 관리할 체계가 필요했다. 신규 쿠폰 기능은 발급, 재고, 중복 사용 방지, 예약 결제 연동까지 전체 생명주기를 일관되게 다뤄야 했다.

내 역할

Spring Boot 3.3·Java 17 기반 외국인 관광 플랫폼의 백엔드 개발 및 유지보수 담당. JPA 성능 최적화, Liquibase 마이그레이션 파이프라인 구축, Redis 기반 쿠폰 시스템 설계·구현을 맡음.

접근

· Fetch Join과 EntityGraph를 적용해 연관 엔티티 조회 시 불필요한 추가 쿼리 제거 · 배치 사이즈 설정으로 컬렉션 조회 성능 개선 · Hibernate 쿼리 로그 분석으로 병목 엔드포인트 식별 · 페이징 API에는 DTO 프로젝션을 적용해 데이터 전송량 축소 · Liquibase changelog를 버전별로 관리하고 context를 분리해 환경별 마이그레이션 구성 · rollback 전략과 CI/CD 검증 단계를 추가해 배포 전 스키마 변경 안정성 확보 · Redis를 활용해 쿠폰 재고 관리와 중복 발급 방지 로직 구현 · 예약 결제 흐름에 쿠폰 할인 자동 적용, 사용 이력 추적과 통계 기능 연동

성과

· JPA 조회 성능 병목이던 N+1 쿼리 문제 해결 · 로컬·개발·운영 환경 간 DB 스키마 변경을 일관되게 관리하는 마이그레이션 파이프라인 구축 · 쿠폰 생성, 발급, 사용, 만료까지 전 생명주기를 다루는 API 제공 · Redis 기반 재고·중복 발급 방지 로직으로 쿠폰 운영 안정성 강화 · 예약 시스템과 쿠폰 시스템을 결합해 결제 시 할인 자동 적용 구조 완성

성과 지표

Fetch Join·EntityGraph·배치 사이즈 적용으로 N+1 쿼리 제거
Liquibase 기반 로컬·개발·운영 DB 마이그레이션 파이프라인 구축
Redis 기반 쿠폰 재고 관리 및 중복 발급 방지 로직 구현
예약 결제 플로우에 쿠폰 할인 자동 적용과 사용 이력 추적 기능 연동

연결된 경험

이 프로젝트가 속한 경력 또는 활동 경험입니다.

경력
2025.07 - 2025.08

인턴/백엔드 개발

오늘의 이야기/콘텐츠 팀

홈 타임라인에서 보기

한눈에 보기

공개 경로:

/projects/trit

대표 프로젝트:

아니오

사용 기술:

Spring Boot 3.3, Java 17, PostgreSQL, Redis, Nginx, JPA, Hibernate, Liquibase

비슷한 프로젝트