Skip to content

rag 기반 퀴즈 배틀 기능 제작#164

Merged
fixgramwork merged 6 commits intodevelopfrom
CB-2-RAG-기반-퀴즈-배틀-기능-제작
Nov 23, 2025

Hidden character warning

The head ref may contain hidden characters: "CB-2-RAG-\uae30\ubc18-\ud034\uc988-\ubc30\ud2c0-\uae30\ub2a5-\uc81c\uc791"
Merged

rag 기반 퀴즈 배틀 기능 제작#164
fixgramwork merged 6 commits intodevelopfrom
CB-2-RAG-기반-퀴즈-배틀-기능-제작

Conversation

@fixgramwork
Copy link
Member

📌 PR 제목 규칙

[feat]


📑 개요

Socket을 활용한 quiz 배틀 API 제작


📌 체크리스트

  • 코드 컨벤션을 지켰나요?
  • 커밋 메시지 컨벤션을 지켰나요?
  • 테스트를 완료했나요?

@fixgramwork fixgramwork moved this to Done in clue_ver_2 Nov 22, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a real-time quiz battle system using WebSocket/STOMP with RAG-based question generation. The implementation includes room management, participant handling, real-time scoring, and automated question progression with timer-based controls.

Key Changes:

  • WebSocket-based real-time quiz battle system with STOMP protocol
  • RAG-based quiz generation through FastAPI integration (missing documentId implementation)
  • Redis-backed real-time state management for participants, questions, and answers
  • Automated question timer service with manual override capability

Reviewed changes

Copilot reviewed 36 out of 40 changed files in this pull request and generated 24 comments.

Show a summary per file
File Description
QuizBattleService.java Core business logic for room/quiz management - missing documentId parameter support for RAG
QuizBattleWebSocketController.java WebSocket endpoints for real-time quiz interactions
QuizTimerService.java Scheduled timer service for automatic question progression - needs @PreDestroy
QuizRoomRedisService.java Redis operations for real-time state management
QuizBattleController.java REST API for room queries - has N+1 query issues
WebSocketConfig.java WebSocket/STOMP configuration
SecurityConfig.java Security bypass for WebSocket endpoints - security concern
JWTFilter.java JWT filter updates to skip WebSocket - security concern
QuizClient.java Feign client for FastAPI quiz generation
Domain Models QuizRoom, QuizParticipant, QuizQuestion, QuizAnswer, QuizRanking entities
DTOs Request/response/message DTOs - missing documentId fields
Tests WebSocket integration tests and service unit tests
QUIZ_BATTLE_GUIDE.md Comprehensive documentation for the feature
Comments suppressed due to low confidence (1)

src/main/java/hello/cluebackend/presentation/websocket/quizbattle/QuizBattleWebSocketController.java:167

  • Default toString(): UserDto inherits toString() from Object, and so is not suitable for printing.
                    customOAuth2User.getUserDTO(), request.getQuestionNumber(), roomCode);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@fixgramwork
Copy link
Member Author

완료

@fixgramwork fixgramwork merged commit 868c327 into develop Nov 23, 2025
1 check failed
@fixgramwork fixgramwork deleted the CB-2-RAG-기반-퀴즈-배틀-기능-제작 branch November 29, 2025 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

개발 개발과 관련된 이슈

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants