Skip to content

Commit b2d419c

Browse files
jong-0126Ksr-ccbcoderabbitai[bot]crocusiaKimyoonbeom
authored
7차 배포 (#286)
* chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * 도커에 레디스 설정파일 추가 (#7) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 도커 설정파일에 레디스 추가 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/6 카카오톡 소셜로그인 + jwt 토큰 발급 (#11) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 도커 설정파일에 레디스 추가 * feat: Jwt 토큰 로그인과 Oauth 기본설정 * fix: 오류수정 * fix: 생성자 누락값 수정 * fix: 생성자 누락값 수정 * chore: 코드정리 * feat: Oauth 구조 변경중.. * feat: 카카오톡 로그인 + jwt 생성 테스트 * feat: 레디스 설정추가 * chore: 코드 정리 * refactor: OAuth2LoginSuccessHandler 책임분리 * refactor: 필터에서 이중작업 정리 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/9 (#14) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/15 (#17) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 * CI/CD AWS 연동 --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/8 (#19) * feat(build.gradle): validation 의존성 추가 * feat : CreateQuizDto 생성 * feat : QuizCategoryRepository 추가 * feat(QuizService) : json 파일 데이터 Quiz 엔티티로 변환 후 저장 기능 추가 * feat : QuizCategory 예외 코드 추가 * feat : uploadQuizJson에 예외 코드 사용' 추가 * feat(QuizController) : quiz 업로드 api 추가 * feat(QuizController) : QuizService의 uploadQuizJson 연동 * Ignore application-local.properties * feat : 카테고리 타입 생성 api 추가 * refactor(QuizCategoryService) : 메서드 isPresent로 변경 * refactor : 코드래빗 피드백 기반 누락 및 오타 수정 * docker-compose.yml 케시 삭제 * feat: OAuth2 Github 기능추가 및 임시 메인페이지 추가 (#21) * chore: AuthUser, Role 클래스 global.dto 패키지로 이동 * chore: OAuth 패키지 이름 변경 * chore: 주석 및 띄어쓰기 수정 * feat: OAuth2 응답객체 생성 및 수정 * refactor: OAuth2 서비스 로직 리팩토링 * chore: 임시 랜딩페이지 추가 * chore: Role 클래스를 user.entity 패키지로 이동 * refactor: 소셜정보 가져올 때, 예외처리 추가 * Feat/15 (#18) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 * CI/CD AWS 연동 * CI/CD AWS 연동 * CI/CD AWS 연동 * 수정 * commit * 환경변수로 수정 * commit * deploy.yml 수정 * commit * deploy 수정 --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/10 (#23) * feat: Ai, 서비스 구현 및 Config 추가. 서비스와 빈 생성을 위한 해당 Config 추가. * feat:AiService * refactor: Ai, 서비스 및 컨트롤러 코드 수정. 작성했던 API 명세서에 맞추어 기능 및 동작 수정. * temp : commit for merge * feat: AI, 테스트코드 구현1. * refactor: aiService subscriptionId 반영 --------- Co-authored-by: Kimyoonbeom <kimybeom@naver.com> Co-authored-by: ChoiHyuk <wannabeing@naver.com> * Feat/13 구독 엔티티 구조 정리 및 구독 정보 조회 (#28) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 패키지 구조 정리 * feat: 요일->int, int->요일 바꾸기 * feat: 요일->int, int->요일 바꾸기 * chore: docker-compose.yml gitignore 추가 * temp: temp commit for pull * temp: temp commit for pull * feat: 구독 엔티티 구조 변경 및 구독 정보 조회 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/27 (#29) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 * CI/CD AWS 연동 * CI/CD AWS 연동 * CI/CD AWS 연동 * 수정 * commit * 환경변수로 수정 * commit * deploy.yml 수정 * commit * deploy 수정 * commit * properties 중요정보 환경변수 처리 --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/27 (#30) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 * CI/CD AWS 연동 * CI/CD AWS 연동 * CI/CD AWS 연동 * 수정 * commit * 환경변수로 수정 * commit * deploy.yml 수정 * commit * deploy 수정 * commit * properties 중요정보 환경변수 처리 * deploy 파일 환경 변수 export --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Fix logging and import issues (#32) * feat: 구독정보/구독내역 생성/수정 로직 추가 및 공통응답 수정 (#33) * chore: 필요없는 어노테이션 삭제 * chore: 공통응답 DTO 수정 - `@RequiredArgsConstructor`는 빌더를 사용한다면 추후 삭제해야 함 * feat: 구독/구독로그 예외처리 추가 및 수정 * feat: 구독기간 enum 클래스 추가 * chore: 구독로그 엔티티에 누락된 컬럼 추가 및 생성자 수정 * refactor: 구독생성자 수정 및 업데이트메서드 추가 * feat: 구독(Subscription) 생성/수정 로직 추가 - SubscriptionLog도 함께 생성되게 추가 * chore: QuizCategory 엔티티에 Getter 추가 * chore: 공통응답 DTO 빌더 삭제 * refactor: 구독로그 테이블명 변경 → 구독내역(SubscriptionHistory) * refactor: 구독테이블에 N+1(QuizCategory) 문제 수정 문제카테고리(QuizCategory)의 경우, 구독내역이 생성될 때마다 쿼리가 중복되어 발생할 수있다고 판단되어 미리 FetchJoin 설정 * feat: 구독 취소 로직 추가 * refactor: QuizCategory 는 생성하는 것이 아닌 조회하는 방식으로 로직 수정 * chore: 예외처리 간단 수정 * refactor: 이메일 동시성문제를 유니크제약조건과 try-catch로 방지 * chore: 엔티티 수정시간과 시간이 다를 수 있기 때문에 엔티티자체의 수정시간을 사용하도록 변경 * chore: QuizCategoryRepository 알맞는 메서드명으로 변경 * chore: 날짜계산을 Days가 아닌 Month로 변경 `plusMonths()` 함수 사용 * Feat/13 로그인 마이페이지 (#35) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 패키지 구조 정리 * feat: 요일->int, int->요일 바꾸기 * feat: 요일->int, int->요일 바꾸기 * chore: docker-compose.yml gitignore 추가 * temp: temp commit for pull * temp: temp commit for pull * feat: 구독 엔티티 구조 변경 및 구독 정보 조회 * fix: 충돌수정 및 변수형 일치문제 해결 * feat: 구독취소, 회원탈퇴 * chore: 각 api별 권한 추가 (계속 추가되어야함) * chore: Quiz_category Enum 삭제 * feat: 로그인 회원 마이페이지 확인 (구독로그 포함) * feat: 구독 비활성화, (임시) 업데이트 * test: 구독 조회 비활성화(로그생성은 아직x) 테스트코드, 로그인 마이페이지 기본기능 테스트 기능 * test: 테스트코드수정 * chore: Quiz_category Enum 삭제 후처리 * chore: Dto 이름 수정 및 파일정리 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/22 인증 코드 이메일 발급 및 검증 (#36) * feat : 이메일 발송을 위한 SMTP 관련 의존성 추가 * feat : 유연성 및 확장성을 위해 MailConfig 추가 * feat : MimeMessage 기반 Html형식 메일 전송 메서드 추가 * feat(UserService) : 인증 코드 생성 * feat : VerificationCode 서비스, 예외 추가 * feat : 인증코드 검증 성공 시, 인증코드 삭제 기능 추가 * feat : 인증 코드 발급 Controller 클래스 추가 * feat : 인증 코드 발송 기능 추가 * refactor : verify 메서드 반환타입 void로 변경 * feat : 인증 코드 관련 api jwt 검증 제외 설정 * fix : 변경된 에러 코드로 인한 실행 오류 수정 * feat : 피드백 기반 수정 * feat : 인증코드 검증 시도 횟수 추가 * refactor : MailConfig 위치 변경 * Feat/31 (#40) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 * CI/CD AWS 연동 * CI/CD AWS 연동 * CI/CD AWS 연동 * 수정 * commit * 환경변수로 수정 * commit * deploy.yml 수정 * commit * deploy 수정 * commit * properties 중요정보 환경변수 처리 * deploy 파일 환경 변수 export * 도커 추가하여 배포 * commit * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * commit * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/41 (#42) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 * CI/CD AWS 연동 * CI/CD AWS 연동 * CI/CD AWS 연동 * 수정 * commit * 환경변수로 수정 * commit * deploy.yml 수정 * commit * deploy 수정 * commit * properties 중요정보 환경변수 처리 * deploy 파일 환경 변수 export * 도커 추가하여 배포 * commit * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * commit * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/41 (#43) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * Revert "Create run-test.yaml" This reverts commit 3ca826f60d3c9d74264e2213b0837ef3a90e6414. * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * ADD workflow * CI/CD AWS 연동 * CI/CD branches 범위 수정 * CI/CD AWS 연동 * CI/CD AWS 연동 * CI/CD AWS 연동 * 수정 * commit * 환경변수로 수정 * commit * deploy.yml 수정 * commit * deploy 수정 * commit * properties 중요정보 환경변수 처리 * deploy 파일 환경 변수 export * 도커 추가하여 배포 * commit * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * commit * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 * 도커 추가하여 배포 --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/39 AI, RAG 및 Chroma 연동 중간 커밋 (#45) * temp : commit for merge * feat: chroma 연동, RAG 구조 구현 그에 따른 AiService 파일 수정. * refactor: chroma 연동, RAG 구조 구현 수정. * Feat: OAuth2 Naver 로그인 기능 추가 및 관련 코드 수정 (#48) * build: mysql-connector 버전 업데이트 보안 이슈로 버전 업데이트 * refactor: OAuth2 예외 처리 수정 및 생성 UserException에서 분리했음 * chore: OAuth2 카카오 응답객체 예외처리 수정 * fix: OAuth2 Github 로그인 시, 이메일 누락 방지 로직 추가 accessToken 활용하여 이메일 가져오기 * feat: OAuth2 네이버 로그인 기능 추가 공통 유틸메서드를 제공하기 위해 추상클래스 생성 * chore: OAuth2 추상클래스 적용 * chore: OAuth2 데이터(attributes) 파싱 예외처리 코드 추가 * chore: OAuth2Service를 OAuth2 패키지로 이동 및 패키지명 수정 사용하지 않는 Controller, Service, Repository 삭제 * chore: 간단 로직 수정 * Feat/12 오늘의 문제 뽑아주기 & 하루에 한번씩 돌아가는 문제 정답률 계산 (#44) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * feat: 문제 추천1 차 * feat: 각 문제별 정답률 계산, 유저 개인의 정답률 계산 * feat: 문제를 내어주는 두가지 방법 * - getTodayQuiz -> getTodayQuizNew (O) - getTodayQuizNew -> getTodayQuiz (X) 둘중에 하나씩만 쓰거나 getTodayQuiz -> getTodayQuizNew 해야함 리턴값은 지금 api 형식으로 만든다고 QuizDto 인데, Quiz로 바꿔서 줄 수 있음 * feat: 문제를 내어주는 두가지 방법 * - getTodayQuiz -> getTodayQuizNew (O) - getTodayQuizNew -> getTodayQuiz (X) 둘중에 하나씩만 쓰거나 getTodayQuiz -> getTodayQuizNew 해야함 리턴값은 지금 api 형식으로 만든다고 QuizDto 인데, Quiz로 바꿔서 줄 수 있음 * test: 문제를 내어주는 두가지 방법 테스트코드 * fix: 포특밧 되돌려줌 * refactor: 정답률 포멧 스케일 통일화 * fix: 오류검증 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * chore/50 도커 컴포즈 파일 변경 (#52) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 도커 볼륨 구조 변경 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/49 github md파일 크롤링 기능 추가 (#53) * feat : 깃허브 url Parser 추가 * feat : 크롤링 기능 추가 * feat : 프로젝트 내에 저장 기능 추가 * feat : 크롤링한 파일을 프로젝트 폴더 내에 저장하는 기능 추가 * chore : chroma 설정 주석 해제 * feat : 컨트롤러 추가 * feat : VectorStore에 저장 메서드 추가 * refactor : List<Document> 전역변수에서 지역변수로 변경 * feat : CrawlerController 예외 추가 * feat: 답안 체점 로직 구현 (#55) test: - 정상 체점 후 데이터 저장 - 구독 정보 없는 경우 예외 처리 - 퀴즈 정보 없는 경우 예외 처리 * Feat/38 문제풀이 링크 이메일 발송 및 테스트 코드 (#56) * feat : 문제 발송용 이메일 sender 임시 생성 * feat : today-quiz.html 추가 * feat : 문제 발송 부분 추가 * feat : 수정사항 없음 * feat : 문제 선택 후, 이메일 발송 기능 추가 * feat : 문제 선정 후 발송하는 issueTodayQuiz 추가 * feat : 문제 발송 메일 로그 남기기 * feat : MailLogResponseDto 생성 * refactor : 변경에 따른 issueTodayQuiz 수정 * feat : 간단한 테스트 코드 추가 * feat : 이메일 발송 성공, 실패 테스트 케이스 추가 * feat : 동기일 때의 성능 측정 테스트 코드 추가 * feat : 속도 성능 테스트 추가 * Chore/54 중간 테스트, 필요한 예외처리 및 모니터링 도구 설치(그라파나, 프로메테우스) (#59) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 도커 볼륨 구조 변경 * chore: 실행오류 수정, 글로벌 오류 핸들링 경우의 수 추가 * fix: 구독 생성, 수정시 ModelAttribute 사용되게 변경 * refactor: 필요없는 함수삭제, url 정정 * refactor: dto에 카테고리 객체 반환하지 않도록 수정 * feat: jwt 리프래시 토큰 기반 로그인연장, 로그아웃 * chore: jwt 토큰 오류 반환하도록 설정 * fix: jwt 토큰 오류시 로그인 html 출력안되도록 설정 * fix: SecurityConfig 단에서 인증인가 오류 개선 * refactor: SecurityConfig 구조 변경 * refactor: 그라파나, 프로메테우스 적용, 로그인페이지 임시 제작 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * feat : 메일 발송 api 추가 (#63) * Feat/58 문제, 정답, 해설 조회 기능 구현 (#64) * feat: 답안 체점 로직 구현 test: - 정상 체점 후 데이터 저장 - 구독 정보 없는 경우 예외 처리 - 퀴즈 정보 없는 경우 예외 처리 * feat: 문제, 정답, 해설 조회 기능 구현 test: - 정상 조회 확인 - 퀴즈 없는 경우 예외처리 * feat: 문제, 정답, 해설 조회 기능 구현 test: - 정상 조회 확인 - 퀴즈 없는 경우 예외처리 * feat/39 RAG 구조 완성 및 서비스 컨트롤러 리팩토링. (#66) * temp : commit for merge * feat: chroma 연동, RAG 구조 구현 그에 따른 AiService 파일 수정. * refactor: chroma 연동, RAG 구조 구현 수정. * feat: 깃허브 document 생성을 위한 RagService 수정. * feat: 깃허브 document 생성을 위한 RagService 수정. * refactor: 경로 인코딩, API 호출 URL, 예외 발생 여부 확인을 위한 로그 추가. * refactor: 깃허브 크롤링, 로그 추가 및 파싱 방식 수정. * refactor: RagService의 세부 수치의 조정. * refactor: test코드 추가 수정. * Feat/62 문제 확인 페이지 생성 (#67) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * feat: 퀴즈 페이지 * feat: 퀴즈 페이지 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/SpringBatch (with Jenkins) 적용 (#70) * build: SpringBatch 설치 및 QueryDsl 버전 설정 * feat: Docker-Compose에 Jenkins 설정 * feat: SpringBatch 데일리 메일 전송 Job 설정 * Feat/71 (#73) * feat: 답안 체점 로직 구현 test: - 정상 체점 후 데이터 저장 - 구독 정보 없는 경우 예외 처리 - 퀴즈 정보 없는 경우 예외 처리 * feat: 문제, 정답, 해설 조회 기능 구현 test: - 정상 조회 확인 - 퀴즈 없는 경우 예외처리 * feat: 문제, 정답, 해설 조회 기능 구현 test: - 정상 조회 확인 - 퀴즈 없는 경우 예외처리 * feat: 퀴즈 정답 선택률 조회 기능 구현 test: - 정상 조회 확인 * Feat/57 이메일 발송 MQ + 비동기 처리 추가 (#72) * feat : Redis Streams 기반 메시지 큐 패턴 적용 * feat : 스프링 배치에 추가 * feat : 테스트 코드 추가 * refactor : 테스트 코드 실행 확인 완료 * refactor : 메일 로그 저장하는 aop 적용 * feat : 발송 실패한 메일 처리하는 큐 추가 * feat : Step 실행 logger 추가 * feat : 속도 성능 테스트 추가 * chore : 테스트 코드 메일 주소 변경 * chore : 테스트 코드 링크 변경 * Fix/프론트엔드 연동을 위한 최소한의 작업 (#75) * build: SpringBatch 설치 및 QueryDsl 버전 설정 * feat: Docker-Compose에 Jenkins 설정 * feat: SpringBatch 데일리 메일 전송 Job 설정 * feat: QuizCategory 조회 API 생성 * chore: 프론트단 데이터 받아오는 형식 JSON으로 변경 * chore: 이미구독중인지 확인하는 메서드 추가 * feat: 이메일 템플릿 추가 * chore: MYSQL 포트 3306 변경 * refactor : 변경된 html과 연동 --------- Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> * fix : 예외처리를 위한 조건문 추가 (#79) * Feat/76 (#80) * feat: 답안 체점 로직 구현 test: - 정상 체점 후 데이터 저장 - 구독 정보 없는 경우 예외 처리 - 퀴즈 정보 없는 경우 예외 처리 * feat: 문제, 정답, 해설 조회 기능 구현 test: - 정상 조회 확인 - 퀴즈 없는 경우 예외처리 * feat: 문제, 정답, 해설 조회 기능 구현 test: - 정상 조회 확인 - 퀴즈 없는 경우 예외처리 * feat: 퀴즈 정답 선택률 조회 기능 구현 test: - 정상 조회 확인 * feat: 퀴즈 정답 선택률 조회 기능 구현 test: - 정상 조회 확인 * refactor: - 도커 컴포즈 mysql 포트 3306 변경 - 레디스 버전 7.2로 변경 - mail test code 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * 도커 컴포즈 수정 * chore: forward-header 전략 설정 (#81) OAuth2 인증을 위한 설정 * 1차 배포 * 1차 배포 * 1차 병합 (#83) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. --------- Co-authored-by: Ksr-ccb <harang4282@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * fix: aiFeedback 컬럼 데이터길이 수정 (#88) * Chore: 메일서비스 링크 도메인 변경 (#89) * chore: 엔티티수정 * fix: 테스트코드 오류수정 * fix: 테스트코드 오류수정 * fix: 메일 서비스 도메인 수정 * Refactor/78 : 문제풀이 링크 발송 흐름 일부 수정, 성능 개선 1차 (#90) * chore : 테스트용 Job 주석 제거 및 용도별 Job 분리 * chore : batch 커스텀 컴포넌트 패키지 변경 * refactor : processor에 유효성 검증, 문제 출제 추가 * refactor : 문제 출제 위치 변경 * doc : 로그 주석 처리 * chore : 테스트 코드 주석처리 * feat : 테스트용 api 추가 * fix/78 : BatchService Bean 주입 오류 개선 (#93) * fix : BatchService에서 Qualifier 적용을 위해 직접 생성자 작성 * Feat/68 프롬프팅 적용 방식 리팩토링 및 RAG 문서분류성능평가 테스트 코드 작성 (#94) * temp : commit for merge * feat: chroma 연동, RAG 구조 구현 그에 따른 AiService 파일 수정. * refactor: chroma 연동, RAG 구조 구현 수정. * feat: 깃허브 document 생성을 위한 RagService 수정. * feat: 깃허브 document 생성을 위한 RagService 수정. * refactor: answerId 기반 AI 피드백 조회 로직으로 변경 * refactor: 프롬프트 하드코딩 제거 및 YAML 기반 구성 적용 * feat: 크로마 벡터 DB 문서 적재 후 원격 공유 가능하게함 * 변경 사항 저장용 * refactor: 문서 기반 서비스 테스트 리팩토링 * 1차 배포 (#86) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * 도커에 레디스 설정파일 추가 (#7) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 도커 설정파일에 레디스 추가 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/6 카카오톡 소셜로그인 + jwt 토큰 발급 (#11) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `src/main/java/com/example/cs25/domain/ai/exception/AiException.java` * `src/main/java/com/example/cs25/domain/mail/entity/MailLog.java` * `src/main/java/com/example/cs25/domain/mail/exception/MailException.java` * `src/main/java/com/example/cs25/domain/oauth/exception/OauthException.java` * `src/main/java/com/example/cs25/domain/quiz/exception/QuizException.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/entity/UserQuizAnswer.java` * `src/main/java/com/example/cs25/domain/userQuizAnswer/exception/UserQuizAnswerException.java` * `src/main/java/com/example/cs25/domain/users/entity/User.java` * `src/main/java/com/example/cs25/domain/users/exception/UserException.java` * `src/main/java/com/example/cs25/domain/users/vo/Subscription.java` * `src/main/java/com/example/cs25/global/exception/BaseException.java` * `src/main/java/com/example/cs25/global/exception/GlobalExceptionHandler.java` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Create run-test.yaml * Create PULL_REQUEST_TEMPLATE.md * refactor: ERD 수정으로 인한 Entity 수정 (#4) * refactor: ERD 수정으로 인한 Entity 수정. * refactor: ERD 수정으로 인한 Entity 수정2. * chore: 도커 설정파일에 레디스 추가 * feat: Jwt 토큰 로그인과 Oauth 기본설정 * fix: 오류수정 * fix: 생성자 누락값 수정 * fix: 생성자 누락값 수정 * chore: 코드정리 * feat: Oauth 구조 변경중.. * feat: 카카오톡 로그인 + jwt 생성 테스트 * feat: 레디스 설정추가 * chore: 코드 정리 * refactor: OAuth2LoginSuccessHandler 책임분리 * refactor: 필터에서 이중작업 정리 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Baek jonghyun <69610809+jong-0126@users.noreply.github.com> Co-authored-by: crocusia <132359536+crocusia@users.noreply.github.com> Co-authored-by: Kimyoonbeom <101162650+Kimyoonbeom@users.noreply.github.com> * Feat/9 (#14) * chore : initialize project structure (#2) * chore: initialize project structure * chore: initialize project structure * chore: initialize project structure * fix: 엔티티 오류수정 및 설정파일 오류 수정 * 📝 Add docstrings to `dev` (#3) Docstrings generation was requested by @Ksr-ccb. * https://github.com/NBC-finalProject/CS25/pull/2#issuecomment-2914743195 The following files were modified: * `sr…
1 parent 4e05caf commit b2d419c

File tree

34 files changed

+1971
-111
lines changed

34 files changed

+1971
-111
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
pull_request:
55
branches:
66
- main
7+
- dev
78
jobs:
89
build-and-test:
910
runs-on: ubuntu-latest

cs25-batch/src/main/java/com/example/cs25batch/batch/service/TodayQuizService.java

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
import com.example.cs25entity.domain.subscription.repository.SubscriptionRepository;
1111
import com.example.cs25entity.domain.userQuizAnswer.entity.UserQuizAnswer;
1212
import com.example.cs25entity.domain.userQuizAnswer.repository.UserQuizAnswerRepository;
13+
import java.util.HashSet;
1314
import java.util.List;
1415
import java.util.Set;
15-
import java.util.stream.Collectors;
1616
import lombok.RequiredArgsConstructor;
1717
import lombok.extern.slf4j.Slf4j;
1818
import org.springframework.stereotype.Service;
@@ -37,23 +37,24 @@ public Quiz getTodayQuizBySubscription(Subscription subscription) {
3737
Long parentCategoryId = subscription.getCategory().getId(); // 대분류 ID
3838
Long subscriptionId = subscription.getId();
3939

40-
// 2. 유저 정답률 계산
41-
List<UserQuizAnswer> answerHistory = userQuizAnswerRepository.findByUserIdAndQuizCategoryId(
40+
// 2. 유저 정답률 계산, 내가 푼 문제 아이디값
41+
List<UserQuizAnswer> answerHistory = userQuizAnswerRepository.findBySubscriptionIdAndQuizCategoryId(
4242
subscriptionId, parentCategoryId);
43-
double accuracy = calculateAccuracy(answerHistory);
43+
int quizCount = answerHistory.size(); // 사용자가 지금까지 푼 문제 수
44+
int totalCorrect = 0;
45+
Set<Long> solvedQuizIds = new HashSet<>();
4446

45-
// 5. 내가 푼 문제 ID
46-
Set<Long> solvedQuizIds = answerHistory.stream()
47-
.map(a -> a.getQuiz().getId())
48-
.collect(Collectors.toSet());
47+
for (UserQuizAnswer answer : answerHistory) {
48+
if (answer.getIsCorrect()) {
49+
totalCorrect++;
50+
}
51+
solvedQuizIds.add(answer.getQuiz().getId());
52+
}
4953

54+
double accuracy =
55+
quizCount == 0 ? 100.0 : ((double) totalCorrect / quizCount) * 100.0;
5056
// 6. 서술형 주기 판단 (풀이 횟수 기반)
51-
int quizCount = answerHistory.size(); // 사용자가 지금까지 푼 문제 수
52-
boolean isEssayDay = quizCount % 3 == 2; //일단 3배수일때 한번씩은 서술 뽑아줘야함( 조정 필요하면 나중에 하는거롤)
53-
54-
// List<QuizFormatType> targetTypes = isEssayDay
55-
// ? List.of(QuizFormatType.SUBJECTIVE)
56-
// : List.of(QuizFormatType.MULTIPLE_CHOICE, QuizFormatType.SHORT_ANSWER);
57+
boolean isEssayDay = quizCount % 3 == 2; //일단 3배수일때 한번씩은 서술( 조정 필요하면 나중에 하는거롤)
5758

5859
List<QuizFormatType> targetTypes = isEssayDay
5960
? List.of(QuizFormatType.SUBJECTIVE)
@@ -93,19 +94,19 @@ private List<QuizLevel> getAllowedDifficulties(double accuracy) {
9394
}
9495
}
9596

96-
private double calculateAccuracy(List<UserQuizAnswer> answers) {
97-
if (answers.isEmpty()) {
98-
return 100.0;
99-
}
100-
101-
int totalCorrect = 0;
102-
for (UserQuizAnswer answer : answers) {
103-
if (answer.getIsCorrect()) {
104-
totalCorrect++;
105-
}
106-
}
107-
return ((double) totalCorrect / answers.size()) * 100.0;
108-
}
97+
// private double calculateAccuracy(List<UserQuizAnswer> answers) {
98+
// if (answers.isEmpty()) {
99+
// return 100.0;
100+
// }
101+
//
102+
// int totalCorrect = 0;
103+
// for (UserQuizAnswer answer : answers) {
104+
// if (answer.getIsCorrect()) {
105+
// totalCorrect++;
106+
// }
107+
// }
108+
// return ((double) totalCorrect / answers.size()) * 100.0;
109+
// }
109110

110111

111112
@Transactional

cs25-batch/src/main/resources/application.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,5 @@ mail.strategy=sesMailSender
4545
#mail.strategy=javaBatchMailSender
4646
mail.ratelimiter.capacity=14
4747
mail.ratelimiter.refill=7
48-
mail.ratelimiter.millis=1000
48+
mail.ratelimiter.millis=1000
49+
server.error.whitelabel.enabled=false

cs25-common/src/main/resources/application.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ server.tomcat.mbeanregistry.enabled=true
3838
spring.batch.jdbc.initialize-schema=always
3939
spring.batch.job.enabled=false
4040
# Nginx
41-
server.forward-headers-strategy=framework
41+
server.forward-headers-strategy=framework
42+
server.error.whitelabel.enabled=false

cs25-entity/src/main/java/com/example/cs25entity/domain/quiz/exception/QuizExceptionCode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
public enum QuizExceptionCode {
1010

1111
NOT_FOUND_ERROR(false, HttpStatus.NOT_FOUND, "해당 퀴즈를 찾을 수 없습니다"),
12-
QUIZ_CATEGORY_NOT_FOUND_ERROR(false, HttpStatus.NOT_FOUND, "QuizCategory 를 찾을 수 없습니다"),
12+
QUIZ_CATEGORY_NOT_FOUND_ERROR(false, HttpStatus.NOT_FOUND, "해당 퀴즈 카테고리를 찾을 수 없습니다"),
1313
PARENT_QUIZ_CATEGORY_NOT_FOUND_ERROR(false, HttpStatus.NOT_FOUND, "대분류 QuizCategory 를 찾을 수 없습니다"),
1414
QUIZ_CATEGORY_ALREADY_EXISTS_ERROR(false, HttpStatus.CONFLICT, "이미 해당 카테고리가 존재합니다"),
1515
JSON_PARSING_FAILED_ERROR(false, HttpStatus.BAD_REQUEST, "JSON 파싱 실패"),

cs25-entity/src/main/java/com/example/cs25entity/domain/quiz/repository/QuizCustomRepositoryImpl.java

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,18 @@ public List<Quiz> findAvailableQuizzesUnderParentCategory(Long parentCategoryId,
2525
QQuiz quiz = QQuiz.quiz;
2626
QQuizCategory category = QQuizCategory.quizCategory;
2727

28-
// 1. 소분류 ID들 가져오기
29-
List<Long> subCategoryIds = queryFactory
30-
.select(category.id)
31-
.from(category)
32-
.where(category.parent.id.eq(parentCategoryId))
33-
.fetch();
34-
35-
if (subCategoryIds.isEmpty()) {
36-
return List.of();
37-
}
38-
3928
// 2. 퀴즈 조회
4029
BooleanBuilder builder = new BooleanBuilder()
41-
.and(quiz.category.id.in(subCategoryIds)) //내가 정한 카테고리에
30+
.and(quiz.category.parent.id.eq(parentCategoryId)) //내가 정한 카테고리에
4231
.and(quiz.level.in(difficulties)) //정해진 난이도 그룹안에있으면서
4332
.and(quiz.type.in(targetTypes)); //퀴즈 타입은 이거야
4433

4534
if (!solvedQuizIds.isEmpty()) {
4635
builder.and(quiz.id.notIn(solvedQuizIds)); //혹시라도 구독자가 문제를 푼 이력잉 ㅣㅆ으면 그것도 제외해야햄
4736
}
48-
4937
return queryFactory
5038
.selectFrom(quiz)
39+
.join(quiz.category, category)
5140
.where(builder)
5241
.limit(20)
5342
.fetch();

cs25-entity/src/main/java/com/example/cs25entity/domain/user/exception/UserExceptionCode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
@Getter
88
@RequiredArgsConstructor
99
public enum UserExceptionCode {
10-
EMAIL_DUPLICATION(false, HttpStatus.CONFLICT, "이미 사용중인 이메일입니다."),
10+
EMAIL_DUPLICATION(false, HttpStatus.CONFLICT, "해당 이메일로 구독을 사용중입니다. 다른 소셜 로그인을 사용해주세요."),
1111
EVENT_CRUD_FAILED(false, HttpStatus.INTERNAL_SERVER_ERROR, "이벤트 값을 레디스에 읽기/저장 실패했으요"),
1212
LOCK_FAILED(false, HttpStatus.CONFLICT, "요청 시간 초과, 락 획득 실패"),
1313
INVALID_ROLE(false, HttpStatus.BAD_REQUEST, "역할 값이 잘못되었습니다."),

cs25-entity/src/main/java/com/example/cs25entity/domain/user/repository/UserRepository.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,9 @@ public interface UserRepository extends JpaRepository<User, Long> {
2121
// @Query("SELECT u FROM User u LEFT JOIN FETCH u.subscription WHERE u.email = :email")
2222
// Optional<User> findUserWithSubscriptionByEmail(String email);
2323

24-
default void validateSocialJoinEmail(String email, SocialType socialType) {
25-
findByEmail(email).ifPresent(existingUser -> {
26-
if (!existingUser.getSocialType().equals(socialType)) {
27-
throw new UserException(UserExceptionCode.EMAIL_DUPLICATION);
28-
}
29-
});
24+
default Optional<User> validateSocialJoinEmail(String email, SocialType socialType) {
25+
return findByEmail(email)
26+
.filter(existingUser -> existingUser.getSocialType().equals(socialType));
3027
}
3128

3229
Optional<User> findBySubscription(Subscription subscription);

cs25-entity/src/main/java/com/example/cs25entity/domain/userQuizAnswer/exception/UserQuizAnswerExceptionCode.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@
88
@RequiredArgsConstructor
99
public enum UserQuizAnswerExceptionCode {
1010
//예시임
11-
NOT_FOUND_ANSWER(false, HttpStatus.NOT_FOUND, "해당 답변을 찾을 수 없습니다"),
12-
EVENT_OUT_OF_STOCK(false, HttpStatus.GONE, "당첨자가 모두 나왔습니다. 다음 기회에 다시 참여해주세요"),
13-
EVENT_CRUD_FAILED(false, HttpStatus.INTERNAL_SERVER_ERROR, "이벤트 값을 레디스에 읽기/저장 실패했으요"),
11+
NOT_FOUND_ANSWER(false, HttpStatus.NOT_FOUND, "해당 답변을 찾을 수 없습니다."),
12+
EVENT_OUT_OF_STOCK(false, HttpStatus.GONE, "당첨자가 모두 나왔습니다. 다음 기회에 다시 참여해주세요."),
13+
EVENT_CRUD_FAILED(false, HttpStatus.INTERNAL_SERVER_ERROR, "이벤트 값을 레디스에 읽기/저장 실패했습니다."),
1414
LOCK_FAILED(false, HttpStatus.CONFLICT, "요청 시간 초과, 락 획득 실패"),
15-
INVALID_EVENT(false, HttpStatus.BAD_REQUEST, "지금은 이벤트에 참여할 수 없어요"),
15+
INVALID_EVENT(false, HttpStatus.BAD_REQUEST, "지금은 이벤트에 참여할 수 없습니다."),
1616
DUPLICATED_ANSWER(false, HttpStatus.BAD_REQUEST, "이미 제출한 문제입니다."),
1717
DUPLICATED_EVENT_ID(false, HttpStatus.BAD_REQUEST, "중복되는 이벤트 ID 입니다."),
18-
INVALID_ANSWER(false, HttpStatus.BAD_REQUEST, "비정상적인 접근입니다. 관리자에게 문의해주세요.");
18+
CORRECT_STATUS_INVALID_ANSWER(false, HttpStatus.BAD_REQUEST, "정답여부가 정상적으로 처리되지 않았습니다. 메일로 문의해주세요."),
19+
AI_ANSWER_INVALID_ANSWER(false, HttpStatus.BAD_REQUEST, "답변한 서술형 문제가 정상적으로 처리되지 않았습니다. 메일로 문의해주세요.");
1920

2021
private final boolean isSuccess;
2122
private final HttpStatus httpStatus;

cs25-entity/src/main/java/com/example/cs25entity/domain/userQuizAnswer/repository/UserQuizAnswerCustomRepository.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88
import java.util.Set;
99

1010
public interface UserQuizAnswerCustomRepository {
11-
11+
1212
List<UserAnswerDto> findUserAnswerByQuizId(Long quizId);
1313

1414
List<UserQuizAnswer> findByUserIdAndQuizCategoryId(Long userId, Long quizCategoryId);
1515

16+
List<UserQuizAnswer> findBySubscriptionIdAndQuizCategoryId(Long subscriptionId,
17+
Long quizCategoryId);
18+
1619
Set<Long> findRecentSolvedCategoryIds(Long userId, Long parentCategoryId, LocalDate afterDate);
1720

1821
UserQuizAnswer findUserQuizAnswerBySerialIds(String quizId, String subscriptionId);

0 commit comments

Comments
 (0)