1차 범위 백엔드 설계

백엔드 채팅 설계

요구 사항

그룹 생성 시 N:1 채팅방 생성
그룹에 유저 추가 시 채팅방 대응
그룹에 유저 삭제 시 채팅방 대응
푸시 기능
fcm 이용?
채널 별 새 메시지 개수 확인 기능
Channel.unreadMessageCount
Subscription.channelEventSubscription
Mutation.readMessage
파일 메시지 전송 및 조회 기능
SendMessageInput.type
SendMessageInput.fileUrls
Message.type
Message.files
AI일시 중지 기능
Mutation.stopAi
Mutation.startAi
Channel.AiStatus
Ai가 메시지를 생성하여 전송하기 전에 중지상태이면 전송하지 않는다.

기획문서 단위 분석

1-1. 선생님이 새 채팅방(N:1)을 생성한다(BE)

1-2. 그룹을 삭제한다(BE)

1-3. 수업 참여자가 변동되어, 채팅방 참여자를 변경한다 (BE)

1-5. 새 메시지가 오는 경우 (푸시)알림을 확인한다 (BE, FE)

1-6. 읽지 않은 새 메시지의 개수를 확인한다 (BE, FE)

1-7. 메시지를 생성한다(BE, FE)