Skip to content

[PROD] feat(#116, #122, #127, #131): QNA API 구현 (CRD)#134

Merged
fnzl54 merged 4 commits intomainfrom
dev
Mar 5, 2026
Merged

[PROD] feat(#116, #122, #127, #131): QNA API 구현 (CRD)#134
fnzl54 merged 4 commits intomainfrom
dev

Conversation

@fnzl54
Copy link
Copy Markdown
Member

@fnzl54 fnzl54 commented Mar 5, 2026

@fnzl54 fnzl54 merged commit 06a47b5 into main Mar 5, 2026
1 check failed
@fnzl54 fnzl54 deleted the dev branch March 5, 2026 12:51
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 사용자 문의(QNA) 시스템을 프로덕션 환경에 배포하기 위한 변경 사항을 포함합니다. 사용자는 이제 문의를 제출하고 자신의 문의 목록을 조회할 수 있으며, 관리자는 모든 문의를 확인하고 답변을 등록할 수 있습니다. 특히, 관리자의 답변이 등록되면 사용자에게 자동으로 이메일 알림이 발송되도록 하여 사용자 경험을 개선했습니다. 또한, 사용자 정보 응답에 역할 필드를 추가하여 향후 프론트엔드에서 관리자 기능을 유연하게 처리할 수 있도록 기반을 마련했습니다.

Highlights

  • QNA API 구현: 사용자가 문의를 생성하고 조회할 수 있는 API와 관리자가 문의를 조회하고 답변할 수 있는 API가 추가되었습니다.
  • 관리자 기능 추가: 관리자용 문의 전체 조회 및 문의 답변 등록 기능이 구현되었으며, 관리자 권한(hasRole('ADMIN'))이 필요합니다.
  • 이메일 알림 시스템 통합: 관리자가 문의에 답변하면 사용자에게 이메일로 답변 내용을 알리는 기능이 추가되었습니다. 이를 위해 Spring Boot Mail과 Thymeleaf가 통합되었습니다.
  • 사용자 정보에 역할(Role) 추가: 사용자 정보 조회 응답에 role 필드가 추가되어 프론트엔드에서 관리자 페이지를 구분하는 데 활용될 예정입니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • build.gradle
    • Spring Boot Mail 및 Thymeleaf 의존성이 추가되었습니다.
  • src/main/java/org/quizly/quizly/account/controller/get/ReadUserInfoController.java
    • 사용자 정보 응답에 사용자 역할(role)을 포함하도록 업데이트되었습니다.
  • src/main/java/org/quizly/quizly/account/dto/response/ReadUserInfoResponse.java
    • 사용자 정보 응답 DTO에 role 필드가 추가되었고, User 엔티티가 임포트되었습니다.
  • src/main/java/org/quizly/quizly/account/service/ReadUserInfoService.java
    • 사용자 정보 조회 서비스 응답에 사용자 역할(role)을 포함하도록 수정되었습니다.
  • src/main/java/org/quizly/quizly/admin/controller/get/AdminReadInquiriesController.java
    • 관리자가 모든 문의를 조회할 수 있는 새로운 컨트롤러가 추가되었습니다.
  • src/main/java/org/quizly/quizly/admin/controller/patch/AdminReplyInquiryController.java
    • 관리자가 문의에 답변을 등록할 수 있는 새로운 컨트롤러가 추가되었습니다.
  • src/main/java/org/quizly/quizly/admin/dto/request/AdminReplyInquiryRequest.java
    • 관리자 문의 답변 요청을 위한 새로운 DTO가 추가되었습니다.
  • src/main/java/org/quizly/quizly/admin/dto/response/AdminReadInquiriesResponse.java
    • 관리자 문의 조회 응답을 위한 새로운 DTO가 추가되었습니다.
  • src/main/java/org/quizly/quizly/admin/dto/response/AdminReplyInquiryResponse.java
    • 관리자 문의 답변 응답을 위한 새로운 DTO가 추가되었습니다.
  • src/main/java/org/quizly/quizly/admin/service/AdminReadInquiriesService.java
    • 관리자가 문의를 상태별로 조회할 수 있는 새로운 서비스가 추가되었습니다.
  • src/main/java/org/quizly/quizly/admin/service/AdminReplyInquiryService.java
    • 관리자가 문의에 답변하고 이메일 알림을 발송하는 새로운 서비스가 추가되었습니다.
  • src/main/java/org/quizly/quizly/core/domin/entity/Inquiry.java
    • 문의(Inquiry)를 위한 새로운 JPA 엔티티가 추가되었으며, 상태 및 답변 로직이 포함되었습니다.
  • src/main/java/org/quizly/quizly/core/domin/repository/InquiryRepository.java
    • Inquiry 엔티티를 위한 새로운 리포지토리가 추가되었으며, 사용자 및 상태별 조회 쿼리가 포함되었습니다.
  • src/main/java/org/quizly/quizly/external/email/error/EmailErrorCode.java
    • 이메일 관련 예외 처리를 위한 새로운 에러 코드 Enum이 추가되었습니다.
  • src/main/java/org/quizly/quizly/external/email/error/EmailException.java
    • 이메일 작업 중 발생하는 예외를 위한 새로운 사용자 정의 예외 클래스가 추가되었습니다.
  • src/main/java/org/quizly/quizly/external/email/service/EmailService.java
    • Thymeleaf 템플릿을 사용하여 이메일을 전송하는 새로운 서비스가 추가되었습니다.
  • src/main/java/org/quizly/quizly/inquiry/controller/get/ReadInquiriesController.java
    • 사용자가 자신의 문의를 조회할 수 있는 새로운 컨트롤러가 추가되었습니다.
  • src/main/java/org/quizly/quizly/inquiry/controller/post/CreateInquiryController.java
    • 사용자가 문의를 생성할 수 있는 새로운 컨트롤러가 추가되었습니다.
  • src/main/java/org/quizly/quizly/inquiry/dto/request/CreateInquiryRequest.java
    • 사용자 문의 생성 요청을 위한 새로운 DTO가 추가되었습니다.
  • src/main/java/org/quizly/quizly/inquiry/dto/response/CreateInquiryResponse.java
    • 사용자 문의 생성 응답을 위한 새로운 DTO가 추가되었습니다.
  • src/main/java/org/quizly/quizly/inquiry/dto/response/ReadInquiriesResponse.java
    • 사용자 문의 조회 응답을 위한 새로운 DTO가 추가되었습니다.
  • src/main/java/org/quizly/quizly/inquiry/service/CreateInquiryService.java
    • 사용자 문의 생성을 위한 새로운 서비스가 추가되었습니다.
  • src/main/java/org/quizly/quizly/inquiry/service/ReadInquiriesService.java
    • 사용자 문의 조회를 위한 새로운 서비스가 추가되었습니다.
  • src/main/resources/templates/email/inquiry-reply.html
    • 문의 답변 알림 이메일을 위한 새로운 Thymeleaf 템플릿이 추가되었습니다.
Activity
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

gemini-code-assist[bot]

This comment was marked as resolved.

@fnzl54 fnzl54 restored the dev branch March 5, 2026 13:38
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.

2 participants