Conversation
- 존재하는 피드백폼이 없는 경우, 200 빈 배열로 처리 - 가장 최근 update된 피드백을 조회함 - 피드백 질문지 조회는 Public API로 설정함
- 일주일 간격으로 피드백 제출 및 보상 수령 가능 - 현재 따로 피드백 응답에 대한 검증은 수행하고 있지 않기 때문에 프론트 측에서의 검증이 필요
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! 본 PR은 서비스 내 피드백 수집 기능을 내재화하기 위한 인프라와 API를 구축합니다. 사용자로부터 피드백을 수집하고, 이에 대한 보상을 체계적으로 지급할 수 있도록 데이터 모델링과 비즈니스 로직을 구현하여 사용자 경험 개선과 서비스 품질 향상을 도모합니다. 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. 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. Footnotes
|
There was a problem hiding this comment.
Pull request overview
Implements in-app feedback forms/responses for events by introducing new persistence tables, a Feedback module with public form retrieval and authenticated response submission, and reward issuance tied to feedback submission.
Changes:
- Add
feedback_form/feedback_responsetables and a seed migration for the default FEEDBACK event form schema. - Introduce
FeedbackModule(controllers, services, repositories, facade) to fetch the latest form and submit responses with optional ticket rewards + cooldown logic. - Extend event validation and error handling with a new “active today” EventService method and new feedback-related error codes.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| supabase/migrations/20260424120000_create_feedback_form_and_response.sql | Creates feedback form/response tables and indexes. |
| supabase/migrations/20260427120000_seed_default_feedback_form_for_feedback_event.sql | Seeds a default JSON schema for the FEEDBACK event form. |
| src/modules/feedback/presentation/feedback-response.controller.ts | Adds feedback response submission endpoint and Swagger docs. |
| src/modules/feedback/presentation/feedback-form.controller.ts | Adds public endpoint to fetch the latest feedback form schema. |
| src/modules/feedback/infrastructure/repositories/feedback-response.repository.ts | Persists responses and queries latest submission time for cooldown checks. |
| src/modules/feedback/infrastructure/repositories/feedback-form.repository.ts | Queries latest feedback form by updated time. |
| src/modules/feedback/feedback.module.ts | Wires up feedback controllers/providers and imports Event/Ticket modules. |
| src/modules/feedback/domain/entities/feedback-response.entity.ts | Adds FeedbackResponse entity (answers + submittedAt) and cooldown constant. |
| src/modules/feedback/domain/entities/feedback-form.entity.ts | Adds FeedbackForm entity (eventId + schema). |
| src/modules/feedback/application/services/feedback-form.service.ts | Maps latest form entity into response DTO (empty response when none exists). |
| src/modules/feedback/application/facades/submit-feedback.facade.ts | Orchestrates submission, cooldown enforcement, and ticket issuance. |
| src/modules/feedback/application/dtos/submit-feedback-response.req.dto.ts | Defines request DTO for submission (formId/eventId/answers). |
| src/modules/feedback/application/dtos/event-feedback-form.res.dto.ts | Defines response DTO for feedback form schema retrieval. |
| src/modules/event/application/services/event.service.ts | Adds findByIdAndAssertActiveForTodayOrThrow for active-event validation by ID. |
| src/common/exceptions/error-code.ts | Adds ErrorMap entries for new feedback error codes. |
| src/common/exceptions/error-code.enum.ts | Adds new feedback error codes. |
| src/app.module.ts | Registers FeedbackModule in the application module imports. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
피드백 폼 내재화를 위한 관련 엔티티, API를 개발합니다.
Changes
Type of Change
해당하는 항목에 체크해주세요:
Target Environment
배포 대상 브랜치를 선택해주세요:
dev)main)Related Issues
관련 이슈를 연결해주세요:
Testing
테스트 방법을 작성해주세요:
Checklist
PR 생성 전 확인사항:
docs/development/CODE_STYLE.md)docs/development/GIT_CONVENTIONS.md)docs/development/NAMING_CONVENTIONS.md)pnpm run build)pnpm run lint)Screenshots (Optional)
UI 변경이 있다면 스크린샷을 첨부해주세요.
Additional Notes
리뷰어에게 전달할 추가 정보가 있다면 작성해주세요.