HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
📚
[팀06] Books
/
🌿
요구사항 명세서
/
📜
스터디 가입 승낙 및 거절
📜

스터디 가입 승낙 및 거절

description
스터디장은 스터디 참여신청한 유저에 대해 가입 신청을 승낙 및 거절할 수 있다
api
💭
스터디 가입 승낙 및 거절
시퀀스다이어그램
domain
스터디
우선순위
매우높음
 
sequenceDiagram participant User participant View participant Server participant DB User->>View: "스터디 1" 클릭 View->>Server: 스터디 가입 신청 정보 목록 요청(사용자식별정보, study_id) loop ValidationCheck Server->>Server: 토큰 기반 사용자 인증 성공 : return userId Server->>Server: 스터디장 권한 확인 end Server->>DB: 해당스터디에 대해 아직 처리되지 않은 신청목록 요청 DB->>Server: 스터디 신청정보 목록 가져오기 Server->>View: 스터디신청정보DTO 목록 리턴
스터디 신청정보 데이터 처리 필요함
 

어떤 도메인이 필요한가?

sequenceDiagram participant 서비스A participant 스터디 participant 스터디그룹 서비스A->>스터디: "study_id" 를 사용해 "스터디" 엔티티 조회 스터디->>서비스A: study_id 인 스터디가 존재하면 반환 서비스A->>서비스A: "스터디장권한 확인" 서비스A->>스터디그룹: study_id 인 스터디에 참여신청한 "서비스_그룹"조회 스터디그룹->>서비스A: 서비스그룹 List 반환
 
특정한 스터디 신청 거절, 승낙
  • 1안: studies/{studyId} + requestBody
{ studyGroupId: status: }
  • 현재 “스터디 참여 신청 정보" 또한 “스터디 그룹" 에 들어가는 상태 라서 리소스 id 로 적을 때 무엇으로 명시해주어야 할지 망설여진다 : studyGroup, applyId
스터디의 스터디 멤버의의 “상태에 대한 수정" 이기 때문에 PUT 을 사용하여, body 로 받아야 하는게 아닐까? 라는 생각
  • 2안? : studies/{studyId}/study-member/{id}?status=
    • “승낙" → Accepted 로 상태 변화
    • “거절"→ CANCELD 로 상태 변화
  • 3안 : studies/{studyId}/study-member/{id} + requestBody
{ status: }
 
 
 
study_group
 
현재인원 4, 최대인원 5
  • 신청 1
  • 신청 2
  • 신청 3
 
sequenceDiagram participant 서비스A participant 스터디 participant 스터디그룹 loop 모집마감스터디확인 서비스A->>스터디: study_id 인 스터디가 존재하는지 조회 서비스A->>스터디그룹: study_id 인 스터디에 "참여중인" 스터디그룹원 인원조회 서비스A->>서비스A: 모집마감된 스터디인지 확인 end 서비스A->>스터디그룹: 해당 스터디그룹레코드 상태변경