# 핵심 요구사항 추출 - 요구사항을 정확히 추출해내지 못하여 구현 하는 도중에 계속 요구사항이 추가적으로 발생한다. - 타겟층 : 사이드 프로젝트 및 스터디를 함께할 사람들을 필요로 하는 주니어 개발자 - 핵심 요구사항 - 활동을 개설할 수 있다. - 스터디 - 사이드 프로젝트 - 그 외 또 추가될 수 있음.. (해커톤, 교육) - 참가하고자 하는 활동을 구할 수 있다. - 활동에서 발생하는 산출물들을 한눈에 확인할 수 있다. - 활동의 일정을 조율할 수 있다. ## 용어정리 - 활동 - 스터디나 프로젝트 항목의 바로 하위 항목 - '어떤 주제'의 스터디나, '어떤 주제'의 프로젝트를 의미한다. - 정의되어야 할 활동 내용 - 세션 - 활동 중에 물리적으로 진행되는 모임의 단위를 말한다. - 활동 운영자의 재량으로, 참가자의 의사를 반영하여 생성할 수 있다. - 정의되어야 할 세션 내용 ## 유스케이스에 따른 기능 정리 ### 0. [사용자] 전체 사용자 - 활동을 검색할 수 있다. - 활동명을 통한 검색 - 필터를 통한 검색 - 산출물을 조회할 수 있다. - 공개된 산출물 확인 O - 공개되지 않은 산출물 확인 X - 로그인 가능 ### 1. [로그인 전 사용자] 전체 방문자 - 회원가입 가능 - 로그인 전 사용자는 마이페이지 X ### 2. [로그인 사용자] 전체 사용자 - 본인의 정보를 수정할 수 있다. - 프로필 사진 - 이름 - 기술 스택 뱃지 - (이메일은 변경 불가능) - 비밀번호 (변경 시 인증 필요) - 휴대폰 번호 (변경 시 인증 필요) - 탈퇴할 수 있다. - 특정 활동에 대한 댓글을 달 수 있다. - 산출물에 대한 댓글을 달 수 있다. - 타 사용자의 정보를 부분적으로 확인할 수 있다. ### 2. [로그인 사용자] 활동 운영자 -> admin - 남이 쓴 글 삭제 X (활동 참가자더라도) - 남이 쓴 활동에 대한 댓글 삭제 X #### 2.1 활동을 개설할 수 있다. - 활동 상세 정보의 등록 - 상세 정보에 지원 시 지원 동기 같은 항목으로 무엇을 적어야 할 지... #### 2.2 활동을 관리할 수 있다. - 운영중인 활동들을 모아서 조회할 수 있다. - 활동 상세 정보의 수정 - 활동 참가 요청 수락/거절할 수 있다. - 참가자의 정보를 조회할 수 있다. (이름, 관심스택, 자기소개, 도주횟수 + 지원 시 적은 지원동기 등..) - 활동 시작과 종료를 선언할 수 있다. #### 2.3 활동 세션을 개설할 수 있다. - 활동 세션 정보의 등록 #### 2.4 활동 세션을 관리할 수 있다. - 활동 세션 정보의 수정 - 세션 내 산출물들에 대해 - 조회 O - 삭제 X - 수정 X ### 3. [로그인 사용자] 활동 참가자 -> participant #### 3.1 마음에 드는 활동을 찜해둘 수 있다. #### 3.2 참여활동들을 모아서 조회할 수 있다. #### 3.3 활동에 지원할 수 있다. - 지원시 폼을 작성할 수 있다. - 한번 작성한 답변은 수정할 수 없다. #### 3.4 활동을 탈퇴할 수 있다. #### 3.5 활동 세션에 산출물을 작성할 수 있다. - 산출물 생성 - 산출물 공개 범위 적용 - 비공개 -> 산출물이 속해 있는 활동 참가자들 끼리만 확인 가능 - 공개 -> 모두 확인 가능 (로그인 하든 안하든) #### 3.6 산출물을 관리할 수 있다. - 산출물 수정 - 공개 범위의 수정도 가능 - 산출물 삭제 #### 3.7 산출물들을 조회할 수 있다. - 참여한 활동의 다른 산출물들을 조회할 수 있다. #### 3.8 산출물을 찜해 볼 수 있다. ### 4. [관리자] 페이지 관리자 ## 추가적인 의견들 - 거절당하면 재신청하기 버튼으로 - 사용자 레벨 부여 - 사용자 프로필 이미지위에 마우스 호버시 사용자의 공개 가능한 간략한 정보 제공 - 댓글에 대한 신고 기능의 적용 - 산출물 인기순 조회 기능