Skip to content

release: 0.1.0 배포 - #20

Merged
fakerdeft merged 3 commits into
mainfrom
develop
Aug 30, 2026
Merged

release: 0.1.0 배포#20
fakerdeft merged 3 commits into
mainfrom
develop

Conversation

@fakerdeft

Copy link
Copy Markdown
Contributor

개요

구독 설정이 실제 발송에 반영되지 않던 문제를 바로잡고, 알림 정렬과 수신 거부 경험을 개선했습니다. 스키마 관리를 Flyway로 전환합니다.

변경 사항

알림 대회 필터링 및 정렬 개선

  • includeSmall 구독 설정이 조회 조건에 연결되지 않아 무시되던 문제 수정
    • 데이터 계약에 따라 include_small=falseSMALL만 제외하고 MAJOR/UNKNOWN은 유지
  • 접수 임박(7일 내 오픈) 대회를 최우선 노출하도록 4단계 정렬 우선순위 도입
    • 기존에는 접수중 대회에 밀려 접수 예정 대회가 노출되지 않았음
  • 접수중 대회는 최근 수집순 정렬로 변경해 발송마다 목록이 갱신되도록 개선
  • 메일 1건당 대회 노출을 10건에서 15건으로 확대

메일 원클릭 구독 해지

  • HMAC 서명 기반 해지 토큰 및 인증 없이 접근 가능한 해지 엔드포인트 추가
  • List-Unsubscribe / List-Unsubscribe-Post 헤더로 RFC 8058 원클릭 해지 대응
  • 알림/웰컴 메일 푸터에 개인 해지 링크 및 결과 안내 페이지 추가
  • 수신 거부 수단이 없어 스팸 신고로 이어지는 경로를 차단해 발송 도달률 보호

Flyway 마이그레이션 도입

  • 기존 schema.sql을 V1 초기 마이그레이션으로 이관
  • 운영 DB는 baseline 처리되어 V1을 건너뛰고 V2부터 적용
  • 마이그레이션과 엔티티 매핑 정합성을 검증하는 테스트 추가

참고

  • 로컬 ddl-autoupdate에서 validate로 변경되어, 엔티티 변경 시 마이그레이션 스크립트가 필요합니다.
  • 프론트엔드 변경은 없습니다. 해지 링크와 원클릭 요청 모두 백엔드에서 처리합니다.

- EventScale 도메인 추가 및 includeSmall 구독 설정을 조회 조건에 연결
- 접수 임박 대회를 최우선 노출하는 4단계 정렬 우선순위 도입
- 접수중 대회는 최근 수집순으로 정렬해 발송마다 목록 갱신
- 메일 1건당 대회 노출을 10건에서 15건으로 확대
- HMAC 서명 기반 무기한 해지 토큰 및 인증 없이 접근 가능한 해지 엔드포인트 추가
- List-Unsubscribe / List-Unsubscribe-Post 헤더로 RFC 8058 원클릭 해지 대응
- 알림/웰컴 메일 푸터에 개인 해지 링크 및 결과 안내 페이지 추가
- 해지 토큰 서명키는 JWT 시크릿에서 용도별로 분리 파생
- spring-boot-flyway 및 flyway-core/postgresql 의존성 추가
- 기존 schema.sql을 V1 초기 마이그레이션으로 이관, 운영 DB는 baseline 처리
- 마이그레이션과 엔티티 매핑을 검증하는 테스트 추가
@fakerdeft fakerdeft self-assigned this Aug 30, 2026
@fakerdeft
fakerdeft merged commit 4ff86fc into main Aug 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant