Skip to content

feat(be): implement study group main api#3456

Draft
RyuRaseul wants to merge 33 commits intomainfrom
t2594-add-studyGroup-main-with-socket
Draft

feat(be): implement study group main api#3456
RyuRaseul wants to merge 33 commits intomainfrom
t2594-add-studyGroup-main-with-socket

Conversation

@RyuRaseul
Copy link
Contributor

Description

Additional context


Before submitting the PR, please make sure you do the following

@RyuRaseul RyuRaseul changed the title feat(be): add RedisModule to AppModule for Redis integration feat(be): implemeng study group main api Feb 25, 2026
@RyuRaseul RyuRaseul changed the title feat(be): implemeng study group main api feat(be): implement study group main api Feb 25, 2026
@RyuRaseul RyuRaseul self-assigned this Feb 25, 2026
@RyuRaseul
Copy link
Contributor Author

@nhjbest22
이거 현재까지 진행상황이랑 더 해야할 거 있으면 적어주세요 제가 함 보겠음

@nhjbest22
Copy link
Contributor

@RyuRaseul
일단 StudyGroup 간단한 API 까지는 짜둔 상태인데, 단일 StudyGroup 조회했을 경우에는 정보를 어디까지 제공해야 할지 애매해서 단일 StudyGroup 조회 API는 안 짜뒀어요.

@nhjbest22
Copy link
Contributor

@RyuRaseul
그리고 저희 서버 상황으로는 일반적인 Socket.IO로는 broadcasting이 안될거 같아서 RedisIoAdapter를 사용해야 하더라구여.
그래서, 일단 redis 세팅 및 RedisIoAdapter 설정까지는 다 마친 상태구요.
WebSocketGateway를 Study API 내부에 구현해서 해당 GateWay 통해서 타이머 및 그룹 내부 채팅 통신을 지원해야 할 거 같아요.

@nhjbest22
Copy link
Contributor

추가적으로 주기적으로 Heartbeat 처럼 FE에서 BE 서버로 일정 시간마다 StudyGroup 참가하고 있는 사용자의 누적 참여 시간을 보내줘야 할 거 같아요.
BE 서버에서 누적 시간을 받으면 redis 내부에 특정 사용자가 특정 그룹에서 현재 얼마나 참여했는지를 atomic 하게 저장하고, 저장된 값들을 BullMQ 사용해서 Cron 형식으로 DB에 반영해줘야 할 거 같아요

@nhjbest22
Copy link
Contributor

추가적으로 StudyGroup 전체 GET 요청 시 지금은 모든 StudyGroup을 DB에서 조회해서 가져오고 있는데, pagination을 통한 조회나 종료된 StudyGroup은 가져오지 않는 방법으로 수정이 필요할 거 같아요

@RyuRaseul
Copy link
Contributor Author

오늘 만나서 얘기 ㄱㄱ

@RyuRaseul RyuRaseul closed this Feb 26, 2026
@RyuRaseul RyuRaseul reopened this Feb 26, 2026
@RyuRaseul RyuRaseul marked this pull request as draft February 26, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants