Conversation
…-buttons Add per-section save buttons for intro admin editor
…-buttons chore: update survey make template and css output
…-buttons (fix) 자잘수정
(fix) 회원가입 시 유학원 등록 방법 로직 변경
Summary of ChangesHello, 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! This pull request significantly refactors and enhances the application's backend, focusing on improving error handling, API documentation, and monitoring capabilities. It introduces a more structured approach to exceptions, integrates Swagger for better API clarity, and prepares the application for advanced monitoring. Additionally, it refines core business logic in member, agency, school, and file management, while also making targeted improvements to the frontend's error feedback and dynamic content rendering. Highlights
🧠 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
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
이번 PR은 전반적으로 코드 품질을 크게 향상시켰습니다. 특히 try-catch-null 패턴을 도메인별 커스텀 예외로 대체하여 오류 처리 방식을 개선한 점이 인상적입니다. 이를 통해 서비스의 안정성과 유지보수성이 크게 향상되었습니다. FileService와 SurveyFindService의 리팩토링은 특히 훌륭합니다. 또한, 다수의 컨트롤러에 Swagger 어노테이션을 추가하여 API 문서화를 개선했습니다. 프론트엔드에서도 설문 생성 페이지의 코드 리팩토링 등 여러 UX 개선이 이루어졌습니다.
다만, 몇 가지 중요한 점검이 필요합니다. 전역 예외 처리기가 주석 처리되어 있어 오류 응답의 일관성이 깨질 수 있습니다. 또한, 일부 UI와 API 문서에서 문자 인코딩 문제가 발견되었습니다. 마지막으로, 프론트엔드에서 사용자에게 오류를 알려주던 알림 기능이 제거되어 사용자 경험이 저하될 수 있습니다.
Note: Security Review did not run due to the size of the PR.
I am having trouble creating individual review comments. Click here to see my feedback.
src/main/java/com/cooperation/project/cooperationcenter/global/exception/GlobalExceptionHandler.java (1-32)
GlobalExceptionHandler 클래스 전체가 주석 처리되었습니다. 이는 전역 예외 처리 메커니즘을 비활성화하는 심각한 문제입니다. 이 핸들러가 없으면 다른 곳에서 처리되지 않은 예외가 표준 BaseResponse 형식으로 변환되지 않아, 일관성 없는 오류 응답(예: 기본 Spring 오류 페이지)을 반환하게 되어 API 클라이언트 경험을 저해할 수 있습니다. 모든 예외를 일관되게 처리할 수 있도록 이 클래스의 주석을 해제해야 합니다.
src/main/java/com/cooperation/project/cooperationcenter/domain/school/controller/adminpage/SchoolAdminRestController.java (49-52)
@Operation의 summary에 문자 인코딩 문제로 인해 깨진 텍스트(?숆탳 ?뺣낫 ?섏젙)가 포함되어 있습니다. 이로 인해 Swagger UI에서 API 설명이 올바르게 표시되지 않습니다. "학교 정보 수정"으로 수정하고, 파일 인코딩을 확인해 주세요.
summary = "학교 정보 수정",
description = """
학교 기본 정보(국문/영문명, 로고 URL)를 수정합니다.
"""
src/main/resources/templates/fragments/school/admin/board-list.html (65)
버튼의 텍스트가 깨져서(?섏젙) 보입니다. HTML 파일의 문자 인코딩 문제로 보입니다. 의도한 텍스트는 "수정"일 것입니다. 파일이 올바른 인코딩(예: UTF-8)으로 저장되었는지 확인하고 텍스트를 수정해 주세요.
수정
src/main/resources/templates/homepage/user/login.html (144-149)
로그인 실패 시 사용자에게 모달을 통해 오류를 알려주던 로직이 제거되었습니다. 현재는 콘솔에만 오류가 기록되어 사용자에게 아무런 피드백이 제공되지 않습니다. 이는 사용자 경험을 저하시킬 수 있습니다. alert()는 지양하는 것이 좋지만, 모든 피드백을 제거하는 것은 바람직하지 않습니다. 토스트 메시지나 폼 내 메시지 영역과 같은 일관되고 방해되지 않는 알림 시스템을 구현하여 사용자에게 오류 상황을 알려주는 것을 권장합니다. 이 문제는 오류 알림이 제거된 signup.html, forgetPassword.html 등 다른 페이지에도 동일하게 적용됩니다.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9c0047866b
ℹ️ 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".
| //@RestControllerAdvice | ||
| //@Slf4j | ||
| //public class GlobalExceptionHandler { |
There was a problem hiding this comment.
Reinstate global BaseException advice
The entire GlobalExceptionHandler has been commented out, so BaseException subclasses (including the newly introduced domain handlers) are no longer translated into their intended HTTP status/code payloads. As a result, business errors from controllers that do not manually catch exceptions (for example school admin APIs) now fall through to generic error handling and return internal-server-style responses instead of the structured BaseResponse clients expect.
Useful? React with 👍 / 👎.
| return filePostRepository.findTopBySchoolBoardAndIdLessThanOrderByIdDesc(board,postId).orElseThrow( | ||
| () -> new SchoolHandler(SchoolErrorStatus.FILE_POST_NOT_FOUND) | ||
| ); |
There was a problem hiding this comment.
Allow missing adjacent file posts in detail view
This lookup now throws when there is no previous file post, but getDetailFilePostDto still treats adjacent posts as optional and builds a response that supports null neighbors. For the first or last file post in a board, one side is naturally absent, so the detail API now fails with FILE_POST_NOT_FOUND instead of returning the post detail with a null prev/next link.
Useful? React with 👍 / 👎.
Fix intro page filtering and admin form reset issues
No description provided.