소셜 기능
1️⃣ 그룹 정보 & 멤버 관리¶
| ID | 우선순위 | 내용 |
|---|---|---|
| FR1 | MUST | 사용자는 그룹의 이름을 확인할 수 있어야 한다. |
| FR2 | MUST | 사용자는 그룹의 그룹원 목록을 볼 수 있어야 한다. |
| FR3 | MUST | 그룹의 관리자는 그룹 이름, 그룹 아이콘(프로필 이미지), 소개/설명을 수정할 수 있어야 한다. |
| FR4 | MUST | 사용자는 언제든지 그룹을 탈퇴할 수 있어야 하며, 그룹 관리자는 필요 시 그룹 소유권을 다른 사용자에게 양도할 수 있어야 한다. |
| FR5 | MUST | 그룹의 관리자는 그룹원들을 추방(강제 탈퇴)시킬 수 있어야 한다. |
2️⃣ 초대 & 온보딩¶
| ID | 우선순위 | 내용 |
|---|---|---|
| FR6 | MUST | 사용자는 URL을 통해 그룹에 초대를 받을 수 있어야 한다. |
| FR7 | MUST | 사용자는 초대 URL을 생성할 수 있어야 한다. |
| FR8 | MUST | 사용자가 초대 URL에 접속하면, 디스코드 초대처럼 별도 초대 화면이 제공되어야 하며, 이 화면에서 로그인/회원가입 처리와 함께 초대에 참여할지 동의 여부를 받아야 그룹에 들어갈 수 있어야 한다. |
3️⃣ 채널 & 플랜(계획) 관리¶
| ID | 우선순위 | 내용 |
|---|---|---|
| FR9 | MUST | 사용자는 그룹 내 채팅방 채널 리스트(채널 제목으로 구성)를 볼 수 있어야 한다. |
| FR10 | MUST | 사용자는 채팅방 채널을 새로 생성할 수 있어야 한다. |
| FR11 | MUST | 사용자는 플랜(Plan)이라는 이름의 계획 채널을 생성할 수 있어야 한다. |
| FR12 | MUST | 사용자는 그룹의 이벤트(누가 들어왔고, 누가 나갔는지 등)를 별도의 이벤트 채널에서 볼 수 있어야 한다. |
| FR13 | MUST | 사용자는 플랜 채널에서 음식점이나 술집에 대한 정보를 올릴 수 있어야 한다. |
| FR14 | MUST | 사용자는 플랜 채널에서 계획에 대한 텍스트(설명, 메모 등)를 입력할 수 있어야 한다. |
| FR15 | SHOULD | 사용자는 플랜 채널에서 플랜별 날짜·시간, 장소, 인원(참여 대상)을 설정할 수 있어야 한다. |
| FR16 | SHOULD | 플랜별로 참여자들은 참석/불참/미정(RSVP) 상태를 선택할 수 있어야 하며, 시스템은 플랜별 참석 인원 요약을 보여주어야 한다. |
| FR17 | SHOULD | 사용자는 플랜 채널에서 플랜과 플랜을 연결하는 연결점(예: 1차→2차 흐름)을 만들고, 그 구조를 시각적으로 확인할 수 있어야 한다. |
| FR18 | SHOULD | 플랜 채널에서 플랜에 대한 링크가 올라왔을 때, 해당 링크는 카드 형태(oEmbed 유사 형태)로 변환되어 보기 쉽게 표시되어야 한다. |
4️⃣ 채팅 기능 (메시지, 미디어, UX)¶
| ID | 우선순위 | 내용 |
|---|---|---|
| FR19 | MUST | 사용자는 채팅방에서 텍스트 채팅을 입력·전송할 수 있어야 한다. |
| FR20 | MUST | 사용자는 이전에 입력된 채팅 메시지들을 스크롤하여 확인할 수 있어야 한다. |
| FR21 | MUST | 사용자는 각 채팅 메시지에 대해 보낸 사람의 프로필 사진, 이름, 보낸 시간과 날짜를 볼 수 있어야 한다. |
| FR22 | SHOULD | 사용자는 텍스트 이외에 동영상, 이미지 파일을 채팅에 업로드할 수 있어야 한다. |
| FR23 | SHOULD | 사용자는 채팅방에 투표(폴)을 생성하여, 다른 사용자들이 선택할 수 있도록 할 수 있어야 한다. |
| FR24 | SHOULD | 사용자는 외부 링크를 채팅에 올렸을 때, 해당 링크가 oEmbed와 같은 미리보기 카드 형태로 표시되어야 한다. |
| FR25 | SHOULD | 시스템은 위치 정보(지도 링크 등)를 지도 미리보기 카드 형태로 표시하여, 채팅방에서 바로 지도/길찾기로 이어질 수 있도록 해야 한다. |
| FR26 | SHOULD | 사용자는 자신이 보낸 채팅 메시지를 수정할 수 있어야 하며, 필요 시 삭제할 수 있어야 한다. (수정/삭제된 메시지는 “(수정됨)” 등으로 표시되어야 한다.) |
| FR27 | SHOULD | 사용자는 채팅 메시지에 이모지 리액션(👍, 😂 등)을 달 수 있어야 하며, 각 메시지에 달린 리액션 개수는 메시지 하단에 표시되어야 한다. |
| FR28 | SHOULD | 시스템은 채팅방에서의 @멘션(@닉네임, @전체, @채널)을 지원해야 하며, 멘션된 사용자는 알림을 통해 이를 인지할 수 있어야 한다. |
| FR29 | SHOULD | 시스템은 안 읽은 메시지 개수와 마지막으로 읽은 위치를 표시하여, 사용자가 채팅방 입장 시 어디부터 새 메시지인지 쉽게 구분할 수 있도록 해야 한다. |
5️⃣ 역할/권한 & DM¶
| ID | 우선순위 | 내용 |
|---|---|---|
| FR30 | SHOULD | 시스템은 그룹 내 역할(예: 소유자, 관리자, 일반 멤버)을 구분하고, 각 역할별로 채널 생성, 멤버 추방, 플랜 생성, 공지 작성 등 권한을 설정할 수 있어야 한다. |
| FR31 | SHOULD | 사용자는 그룹 내 다른 사용자와 1:1 개인 메시지(Direct Message)를 주고받을 수 있어야 한다. |