Skip to content

[Feat] 유저 피드백 수집 및 관리자 조회 기능 추가 - #225

Merged
KiSeungMin merged 5 commits into
mainfrom
develop
Jun 30, 2026
Merged

KiSeungMin merged 5 commits into
mainfrom
develop

Conversation

@KiSeungMin

Copy link
Copy Markdown
Contributor

✔️ 연관 이슈

  • 없음

📝 작업 내용

커밋 단위 작업 내역

  • [Feat] 유저 피드백 DB 스키마 추가 (V18~V20)

    • V18: user_feedback 테이블 생성 (점수, 장점, 불편사항, 미사용 이유 등)
    • V19: user_feedback 컬럼 타입 수정
    • V20: non_usage_reasons 컬럼 추가
  • [Feat] 유저 피드백 수집 기능 구현

    • FeedbackController / FeedbackService / FeedbackRequestDto / FeedbackResponseDto 추가
    • 웹 폼 기반 피드백 수집 페이지 (feedback.html, feedback-complete.html) 추가
  • [Feat] 관리자 유저 피드백 조회 페이지 추가

    • AdminFeedbackController 추가
    • admin-feedback.html (목록), admin-feedback-detail.html (상세) 페이지 추가
  • [Feat] 관리자 스터디룸 조회 페이지 추가

    • AdminStudyRoomController, AdminStudyRoomDetailDto, AdminStudyRoomSummaryDto 추가
    • admin-study-rooms.html (목록), admin-study-room-detail.html (상세) 페이지 추가
    • StudyRoomSharedProblemRepository 쿼리 보완
    • admin.html 네비게이션 메뉴 업데이트

👤 사용자 영향

  • 앱 사용자: 웹 폼을 통한 피드백 제출 가능 (기존 앱 기능 영향 없음)
  • 관리자: 수집된 피드백 및 스터디룸 현황을 관리자 페이지에서 조회 가능

🔌 API 호환성

  • 요청/응답 DTO 변경 없음 (피드백·관리자 페이지는 웹 폼 기반, Flutter 앱 미사용)
  • 기존 Flutter 앱 버전과 호환 확인
  • breaking change 있음

🗄️ DB migration

  • 없음
  • 있음: migration 파일과 기존 데이터 호환성 확인
    • V18~V20 신규 테이블/컬럼 추가 (기존 테이블 무영향)

🔐 인증/권한

  • 영향 없음
  • 사용자별 데이터 소유권 검증 확인
  • 관리자/특수 권한 영향 확인
    • SecurityConfig 수정: 피드백 폼 페이지는 인증 불필요 (공개), 관리자 페이지는 ADMIN 권한 유지

✅ 검증 결과

  • DB 마이그레이션 파일 V18~V20 구조 검토 완료
  • 피드백 폼 페이지 및 관리자 조회 페이지 템플릿 작성 완료
  • 빌드 및 통합 테스트는 dev 서버 배포 후 검증 예정

🚀 배포 리스크

  • DB 마이그레이션 V18~V20 실행 필요 (신규 테이블 생성, 기존 데이터 영향 없음)
  • SecurityConfig 변경: 피드백 폼 경로(/feedback/**)가 공개로 설정됨 — 의도된 변경

↩️ 롤백/대응 방법

  • 마이그레이션: V18~V20 테이블 DROP 후 Flyway repair 실행
  • SecurityConfig: 해당 허용 경로 롤백

스크린샷 (선택)

KiSeungMin and others added 5 commits June 30, 2026 21:11
- V18: user_feedback 테이블 신규 생성 (NPS, 사용 목적, 빈도, 불편사항 등 전체 설문 필드)
- V19: Hibernate Integer 매핑 불일치 수정 — TINYINT → INT (nps_score 등 6개 컬럼)
- V20: 복습 세트·스터디룸 미사용 이유 VARCHAR 컬럼 2개 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- /feedback 페이지: 5개 섹션 15문항 설문 폼 (익명, 녹색 테마, 반응형)
- 복수 선택 체크박스 + 기타 직접 입력, 조건부 하위 질문 (복습 세트·스터디룸 사용 여부)
- FeedbackService: 다중 선택 콤마 직렬화, 제출 시 Discord 웹훅 알림 발송
- /feedback/complete 완료 페이지
- SecurityConfig: /feedback/** permitAll 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- /admin/feedbacks: 제출 목록 (페이지네이션, 총 수, 평균 NPS 표시)
- /admin/feedbacks/{id}: 섹션별 상세 응답 뷰 (NPS 색상 코딩 포함)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- /admin/study-rooms: 룸 목록 (멤버 수·공유 문제 수 배치 집계, 페이지네이션)
- /admin/study-rooms/{id}: 기본 정보·멤버 목록·챌린지 목록 상세 뷰
- StudyRoomSharedProblemRepository: countByRoomId·배치 집계 쿼리 추가
- admin.html: 스터디룸 카드 추가, 유저 피드백 카드 추가, 빠른 이동 섹션 제거

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
[Feat] 유저 피드백 수집 및 관리자 조회 기능 추가
@KiSeungMin KiSeungMin self-assigned this Jun 30, 2026
@KiSeungMin KiSeungMin added the feature 새로운 기능 추가 label Jun 30, 2026
@KiSeungMin
KiSeungMin merged commit 570e05c into main Jun 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant