탄소배출 산정 B2B 웹앱
MySQL · JPA/QueryDSL · Gradle 멀티모듈 · React
제품별 탄소배출량을 계산하는 서비스입니다. DB 스키마 관리와 조회 성능을 개선하고, 중복으로 유지되던 화면 구현을 통합했습니다.
-
기존 스키마와 충돌한 Flyway를 제거하고 필요한 SQL만 자동 적용
Flyway 적용 후 새 DB에서 스키마를 재현하지 못하고, 모듈별 실행 순서와 기존 스키마의 차이를 처리하는 설정이 221줄까지 늘었습니다. 이 구성을 유지하는 대신 Flyway를 제거하고, JPA 스키마 관리와 보완 SQL 자동 실행으로 바꿨습니다.
도입 22일 후 제거 · 보완 SQL 자동 적용 -
집계 조회와 PDF 생성의 병목을 각각 개선
조회할 때마다 CTE 5개를 재계산하던 뷰는 집계 결과를 저장하는 테이블로 옮겼습니다. 기존 조회를 유지한 채 데이터 일치를 확인한 뒤 읽기 경로를 전환했습니다. PDF 생성에서는 한글 텍스트 배치가 병목이어서, 화면 캡처 방식으로 바꿔 생성 시간을 줄였습니다.
PDF 생성 6.4초 → 0.7초 · 이미지 방식이라 텍스트 검색 불가 -
V1·V2 화면 구현을 통합하고 사용하지 않는 파일 정리
V1과 V2가 함께 남아 같은 버그를 두 번 수정해야 했습니다. 화면을 단계적으로 V2로 통합했습니다. 별도로 실행 경로를 확인해, 최근까지 수정됐지만 실제로는 사용하지 않는 파일도 정리했습니다.
V1 코드 2,389줄 삭제 · 미사용 파일 누적 102개 정리