Skip to content

[DEPLOY] 260618#772

Merged
whqtker merged 12 commits into
masterfrom
develop
Jun 18, 2026
Merged

[DEPLOY] 260618#772
whqtker merged 12 commits into
masterfrom
develop

Conversation

@whqtker

@whqtker whqtker commented Jun 18, 2026

Copy link
Copy Markdown
Member

No description provided.

whqtker and others added 12 commits June 9, 2026 22:25
* chore: application_choice 테이블 추가 및 지망 수 컬럼 추가하는 스크립트 작성

* feat: ApplicationChoice 클래스 추가, 최대 지망 수 필드 추가

* chore: n지망 컬럼 제약 조건 변경

- 컬럼 복수 유지에 대한 임시 조치

* feat: DTO 및 검증 로직 변경

* feat: JPQL 쿼리 변경

* feat: 서비스 메서드 변경

* feat: 어드민 국내 대학 삽입 시 최대 지망 수 관련 DTO에 제약조건 추가

* feat: 대학 검색 응답 필드 변경

* feat: 최대 지망 수 포함하도록 서비스 메서드 변경

* feat: QueryDSL 조인 -> 동적 선택으로 변경

* test: 테스트 픽스처 및 테스트 변경

* refactor: 컨벤션에 맞게 로직 변경

- private 메서드 위치
- Wrapper 타입
- 메서드 레퍼런스 방식

* refactor: 지망 리스트에서 null인 경우 검증 추가

* refactor: 초기 상태에서도 maxChoiceCount만큼의 리스트 크기가 생성되도록

* refactor: 불필요한 검증 제거

* refactor: BatchSize로 N+1 문제 해결

* test: 불필요한 Nested 제거

* chore: mock데이터 수정

* refactor: 유효한 id 검증을 서비스에 추가

- 저장 전에 검증하여 잘못된 id가 DB에 삽입되는 경우 방지
- 중복 조회 제거

* chore: CHECK 제약조건 추가

- 최대 1지망 지원 가능

* chore: FK, 인덱스 추가

* test: containsExactlyInAnyOrder로 변경

- 응답의 개수를 정확히 판별하기 위해

* refactor: 상수 도메인에서 중앙 관리하도록

* test: 최대 지망 대학임을 바로 알 수 있도록 메서드명 변경
* feat: 학교별 이메일 인증으로 HomeUniversity 자동 매핑 (#751)

- HomeUniversity에 emailDomain 컬럼 추가 (V50 마이그레이션)
- HomeUniversityRepository에 findByEmailDomain 메서드 추가
- EmailService 구현 (JavaMailSender 기반 인증 코드 발송)
- SchoolEmailService 구현 (인증 코드 발급/확인, Redis TTL 5분)
- SiteUser.verifySchool() 도메인 메서드 추가
- MyPageController에 POST /my/school-email, POST /my/school-email/confirm 엔드포인트 추가
- 어드민 HomeUniversity DTO에 emailDomain 필드 반영

* refactor: EmailService를 common/mail/MailService로 이동

email 발송은 공통 인프라 관심사이므로 별도 email 패키지 대신
common/mail 패키지로 이동

* refactor: 학교 이메일 인증 API 응답 body 제거

클라이언트가 이미 알고 있는 이메일을 응답으로 돌려줄 필요가 없으므로
SchoolEmailResponse 제거 및 반환 타입을 void로 변경

* refactor: Redis 저장 실패 시 CustomException으로 처리

RuntimeException 대신 SCHOOL_EMAIL_VERIFICATION_INFO_SAVE_FAILED
ErrorCode를 사용하여 예외 처리를 명확하게 표현

* refactor: Redis 인증 정보 역직렬화 실패 시 CORRUPTED 예외로 처리

데이터가 존재하지만 파싱 실패인 경우 REQUEST_NOT_FOUND 대신
SCHOOL_EMAIL_VERIFICATION_INFO_CORRUPTED로 명확하게 구분

* test: 학교 이메일 인증 테스트를 인하대학교(inha.edu) 기반으로 변경

* style: 테스트 Given-When-Then 주석 소문자로 통일

* feat: data.sql에 HomeUniversity email_domain 데이터 추가

* fix: CodeRabbit 리뷰 반영 - emailDomain 검증 강화 및 트랜잭션 범위 축소

- V50 마이그레이션에 기존 대학 email_domain 백필 UPDATE 추가
- AdminHomeUniversityService에 emailDomain 중복 검증 추가
- SchoolEmailService에서 이메일 발송 실패 시 Redis 보상 삭제 추가
- requestSchoolEmailVerification에서 불필요한 @transactional 제거
- extractEmailDomain에서 도메인 소문자 정규화 적용
- AdminHomeUniversity DTO의 emailDomain 검증을 @pattern으로 강화

* revert: V50 마이그레이션에서 DML 제거

* refactor: @Email 검증으로 보장된 중복 atIndex 검사 제거

* refactor: develop rebase 충돌 해결 및 테스트 코드 적용

* fix: emailDomain @SiZe 검증 추가
* refactor: prod/stage 환경 nginx 블루/그린 배포 방식 도입

* fix: 리뷰 반영(management port 충돌 문제 해결, MySQL 경로 버그 문제 해결)

* fix: 액츄에이터 노출 & dev/prod 스크립트 일치 반영
* refactor: prod/stage 환경 nginx 블루/그린 배포 방식 도입

* fix: 리뷰 반영(management port 충돌 문제 해결, MySQL 경로 버그 문제 해결)

* fix: 액츄에이터 노출 & dev/prod 스크립트 일치 반영

* fix: 레거시 액추에이터 노출 포트와 일치시키기
* refactor: prod/stage 환경 nginx 블루/그린 배포 방식 도입

* fix: 리뷰 반영(management port 충돌 문제 해결, MySQL 경로 버그 문제 해결)

* fix: 액츄에이터 노출 & dev/prod 스크립트 일치 반영

* fix: 레거시 액추에이터 노출 포트와 일치시키기
- refactor: 액추에이터 포트 검사 방식 변경(status:UP -> http_status_code)
* feat: CD 과정에서 블루/그린 환경 변화에 따른 Promethus actuator port 동적 변경

* refactor: hostname -I SSH 호출 로직 제거

* fix: 파싱 결과가 8080/9080이 아닌 경우 명시적 실패 처리
* feat: Promethus target을 public 엔드포인트가 아닌 private IP로 수정

* fix: IMDSv2 반영 및 PRIVATE_IP 빈값 검증 및 명시적 실패 로직 추가
* feat: 관리자 대학 이미지 업로드 경로 추가

- 관리자 대학 로고와 배경 이미지 업로드 API를 추가

- 대학 영문명을 서버에서 업로드 디렉토리명으로 변환

- S3 업로드 서비스에 동적 하위 디렉토리 경로 생성을 추가

* feat: 관리자 대학 이미지 업로드 테스트 추가

- 대학 영문명 디렉토리명 변환 테스트를 추가

- 동적 하위 디렉토리 기반 S3 업로드 경로 테스트를 추가

* feat: 대학 이미지 업로드 경로 충돌 방지

- 대학 영문명 디렉토리명에 원본 영문명 해시를 추가

- 파견 대학 영문명 중복 검증과 유니크 제약을 추가

- 정규화 충돌과 영문명 중복 검증 테스트를 추가

* feat: 이미지 전용 업로드 확장자 제한

- 업로드 경로별 이미지 전용 검증 정책을 추가

- 관리자 대학 이미지 업로드에서 문서 확장자를 차단

- 증빙 파일 업로드의 문서 확장자 허용 동작을 테스트로 보장
* feat: 모의지원 최대 지망 수를 동적으로 관리하도록 (#746)

* chore: application_choice 테이블 추가 및 지망 수 컬럼 추가하는 스크립트 작성

* feat: ApplicationChoice 클래스 추가, 최대 지망 수 필드 추가

* chore: n지망 컬럼 제약 조건 변경

- 컬럼 복수 유지에 대한 임시 조치

* feat: DTO 및 검증 로직 변경

* feat: JPQL 쿼리 변경

* feat: 서비스 메서드 변경

* feat: 어드민 국내 대학 삽입 시 최대 지망 수 관련 DTO에 제약조건 추가

* feat: 대학 검색 응답 필드 변경

* feat: 최대 지망 수 포함하도록 서비스 메서드 변경

* feat: QueryDSL 조인 -> 동적 선택으로 변경

* test: 테스트 픽스처 및 테스트 변경

* refactor: 컨벤션에 맞게 로직 변경

- private 메서드 위치
- Wrapper 타입
- 메서드 레퍼런스 방식

* refactor: 지망 리스트에서 null인 경우 검증 추가

* refactor: 초기 상태에서도 maxChoiceCount만큼의 리스트 크기가 생성되도록

* refactor: 불필요한 검증 제거

* refactor: BatchSize로 N+1 문제 해결

* test: 불필요한 Nested 제거

* chore: mock데이터 수정

* refactor: 유효한 id 검증을 서비스에 추가

- 저장 전에 검증하여 잘못된 id가 DB에 삽입되는 경우 방지
- 중복 조회 제거

* chore: CHECK 제약조건 추가

- 최대 1지망 지원 가능

* chore: FK, 인덱스 추가

* test: containsExactlyInAnyOrder로 변경

- 응답의 개수를 정확히 판별하기 위해

* refactor: 상수 도메인에서 중앙 관리하도록

* test: 최대 지망 대학임을 바로 알 수 있도록 메서드명 변경

* feat: 컬럼 매핑 alias enum class 작성

* feat: 마크다운 표 파서 클래스 추가

* feat: DTO 작성

* refactor: deprecated 컬럼 제거

* feat: 서비스 계층 로직 작성

* feat: 지원 대학 정보 삽입 관련 로직 추가

* feat: 컨트롤러 작성

* fix: 중간 빈 셀이 있는 경우 정상적으로 저장이 되지 않던 문제 수정

* chore: 어드민 관련 계정 추가 외

- admin@test.email
- Admin@1234
- 로컬 어드민 웹에 대한 접근 허용

* feat: 학기 추가, 조회, 현재 학기 설정 관련 어드민 API 추가

* refactor: 현재 학기 설정 관련 무결성 제약조건 위반하지 않도록 Modifying 쿼리 사용

* refactor: 누락 필드 임시 추가

- 추후 제거 예정

* feat: host_university 테이블 컬럼 또한 입력으로 받도록

- host_university가 없는 경우 추가해줘야 한다.

* fix: 컬럼명 오타 수정

* feat: 세부 레코드 삽입 실패 이유까지 전달하도록

* feat: 셀 단위 타입·열거형·길이 제약 검증 추가

* test: enum 변환 실패 시 행 실패 동작으로 테스트 수정

* test: 셀 단위 타입·길이 검증 테스트 추가

* fix: 마크다운 파서에서 이스케이프된 파이프 문자 처리

* refactor: 지원 대학 삽입 응답에서 각 셀 검증 제거

* test: 각 셀 검증 제거에 따른 테스트 수정

* refactor: 학기 이름 관련 변수명 수정

- label -> name

* refactor: 불명확한 변수명 수정

- 활성화할 학기에 대한 변수 이름을 termToActivate로 수정한다.

* refactor: 부분 실패 대신 전체 실패

* chore: 국가 코드 추가

* refactor: 비어있는 키-값에 대한 검증 추가

* refactor: 컬럼 길이 제한 수정

- 영문 대학명: 200자
- 기숙사, 어학 세부 조건: 2000자

* refactor: 코드래빗 리뷰 반영

* refactor: 컨벤션 위반 항목 전면 수정

* chore: 두 스크립트 하나로 병합

* feat: 지원 대학 추가 시 캐시 무효화

* chore: 목데이터 수정

* chore: 어드민 기능 테스트 관련 목데이터 추가
* refactor: (english_name, korean_name) 조합으로 UK 설정하도록

* refactor: 복합 UK 제거, english_name 중복 허용
@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 7c302f17-f807-4e0c-ba28-45140e440e12

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@whqtker whqtker added the 릴리즈 Marks pull request for release label Jun 18, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 443665f7e7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/main/resources/db/migration/V50__dynamic_choice_count.sql
@whqtker whqtker merged commit 443665f into master Jun 18, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge 릴리즈 Marks pull request for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants