참고
- 유저스토리, MosCow
Must Have
: 이번 프로젝트에서 반드시 여기까진 다 해야한다.Should Have
: 혹시라도 여력이 된다면 여기까지도 한번 해보자.Could Have
: 여기까지 할 수 있다면 정말 좋겠지만, 못해도 괜찮다.Won’t Have
: 이건 이번 프로젝트에 할 수 있는게 아니니 괜히 미련 갖지 말자.
ℹ️ 참고
- 유저스토리는 “(사용자)는 (목적/목표)를 위해 (욕구/욕망)을 원한다/하고 싶다.” 이렇게 생겼어요.
- 예를 들면 “판매자는 이 API를 사용하여, 하나 이상의 반품지를 만들고 싶다.” 처럼 작성할 수 있답니다.
UserStory 작성
목차
인증 (로그인 & 회원가입) Basic
- 모든 사용자는 우리맵 서비스를 이용하기 위해 회원가입을 한다.
- 회원가입 방식 (id password : 메인)
- id: email
- OAuth
(Advanced)
- 모든 사용자는 우리맵 서비스를 이용하기 위해 로그인을 한다.
- 로그인 방식
- jwt
- access
- refresh
유저 Basic
- 로그인 한 사용자는 자신의 정보를 조회할 수 있다.
- 닉네임
- 프로필 사진
- 커플 정보
- 날짜 관련
- 사용자가 사귀기 시작한 날짜 설정
- 설정한 날짜로부터 경과일 표시
- 실제 사귄 날로부터 100일 ~ 200일 날짜 알려주기
(Advanced)
- 기념일 알림 -
(Adavanced)
- 상대 닉네임
- 작성한 게시글 목록
- 로그인 한 사용자는 자신의 정보를 수정할 수 있다.
- 닉네임
- 프로필 사진
- 커플 정보
- 사귀기 시작한 날짜 수정
- 사용자는 서비스에서 로그아웃을 한다.
- 사용자는 서비스 이용을 하고 싶지 않다면 회원 탈퇴를 할 수 있다.
- 탈퇴 시 처리 방식
- 탈퇴는 커플을 끊기 전까지 탈퇴가 불가능
- 커플이 끊어지면 관련 정보 모두 삭제
- 데이터 백업
(Advanced)
- 데이터 삭제 유예
(Advanced)
커플 맺기 Basic
- 두 명의 로그인 한 사용자는 한 사람이 초대 코드를 통해 연동할 수 있다.
- 링크로 초대된 사용자만 연동할 수 있다.
- 커플로 맺어진 사용자들만 모든 서비스를 이용할 수 있다.
- 커플 맺기가 완료되었으면 커플에 제한된 서비스를 사용할 수 있다.
- 두 사람이 이미 회원 가입이 되어 있다는 전제 하에
- 사용자는 다른 사용자의 이메일을 입력하여 커플 맺기 링크를 보낼 수 있다.
- 상대가 응답을 해야 서비스 사용 가능
- 토큰 검증 api가 필요
- 거절했을 경우, 상대방에게 거절 당했다고 알려주기 -
(Advanced)
정책
- 링크 시간 만료시 자동 거절 (24시간)
- 링크 생성은 최대 5개 까지만 가능하다
- 실시간 연동 -
Advanced
게시글 Basic
- 커플을 맺은 사용자는 게시글을 읽을 수 있다.
- 커플을 맺은 사용자는 게시글을 쓸 수 있다.
- 제목
- 하나의 장소 핀 포인트
- 사진 여러개
- 설명
- 태그 - 사용자가 만들면서 검색도 할 수 있다
(Advanced)
- 게시글 미리보기 기능
(Advanced)
- 커플을 맺은 사용자는 게시글을 수정할 수 있다.
- 두 사람 모두 게시글을 수정할 수 있다.
- 커플을 맺은 사용자는 게시글을 삭제할 수 있다.
- 두 사람 모두 게시글을 삭제할 수 있다.
- 장소를 기록할 때, 사진과 함께 글을 남길 수 있다.
- 일단 메인 페이지는 인스타그램 페이지이다.
- 장소를 등록할 때, 해당 장소에 대한 메타정보를 등록한다.
- 내가 올린 장소에 대해 지도 형식으로 보고싶으면, 지도 탭을 통해서 핀포인트로 조회가 가능하다.
이미지 업로드 (장소 공유 시점) -
Basic
- 유저는 추억으로 남긴 장소에 대해서 이미지를 여러 개 업로드할 수 있다.
- 유저는 제한된 크기를 넘지 않는 한에서 이미지를 업로드 할 수 있다. B
- 이미지는 업로드 된 주소를 통해서 조회를 할 수 있다.
- 데이터를 보내는 시점
- 이미지 파일을 하나 올릴 때 백엔드 쪽으로 데이터를 보낸 후 url을 받아옴
- 프론트에서는 받은 url을 응답 받아 처리
커플 해제 Basic
- 커플로 맺어진 유저는 커플을 일방적으로 해제할 수 있다. B
- 커플이 해제될 때, 자동으로 저장된 모든 데이터들은 삭제된다.
장소 공유 (Advanced)
- advanced 구현 시 조금 더 명확하게 정의가 필요
(Advanced)
- advanced 구현 시 조금 더 명확하게 정의가 필요- 타 커플이 추천하는 장소를 볼 수 있다.
- 어느정도 범위까지 한 장소로 볼건지?
- 비로그인 사용자도 추천 장소를 볼 수 있음
- 공유하는 커플은 필요에 따라 본인 계정 비공개로도 공유할 수 있다.
- 사용자는 특정 지역을 검색하여 해당 지역 내부에서의 장소를 공유할 수 있다.
- 인기 있는 커플 장소를 알려준다.
(Basic)
- 사용자가 그 장소에 갔는가 아닌가는 굳이 숨길 필요는 없을 것 같음
- 그러니까, 누가 어디에 갔는가는 아니고 몇명이 이 장소에서 추억을 만들었다는??
- 그냥 몇 커플이 방문(또는 몇 명이 방문)했다 정도의 정보만 있으면 되지 않을까요?
- 추천한 커플들이 해당 장소에 남긴 리뷰들도 볼 수 있도록 하면 좋을 것 같아요.
- 명수에 따른 트랜딩 장소를 추천한다.
- 트랜딩 장소는 앱 상단에 매거진 느낌으로 게시된다.
- 계절별로 추천하는 장소
(Advanced)
지도 (Frontend) Basic
- 지도에서 추천된 장소들을 핀 등의 형식으로 볼 수 있다.
- 핀을 클릭하면 그 장소에 대한 사진과 남긴 글을 볼 수 있다.
- 예를 들어 아이폰 사진 어플에서 지도에 사진 남겨주는 것 처럼.
일기 (사진과 일기가 나눠져있다.) - 장소에 국한되지 않는 (Advanced)
(Advanced)
- 각자 원하는 날짜에 일기를 적을 수 있다. - B
- 일기에 댓글 기능 가능 - B
- 일기를 적었다면 상대방에게 알림이 간다. - A
- 일기를 수정, 비공개전환, 삭제할 수 있다.
일정 공유 Advanced
- 구글 캘린더처럼 커플 간의 일정을 기록할 수 있다. - B
- 커플은 날짜를 선택하여 일정에 새로운 글을 쓸 수 있다.
- 커플은 일정을 작성하여 등록할 수 있다.
- 커플은 일정에 대해서 수정할 수 있다.
- 커플은 일정에 대해서 삭제할 수 있다.
- 커플은 일정을 수행해야할 의무가 있다. (그냥 적어봄)
채팅 Advanced
- 커플 사용자끼리 채팅을 할 수 있다.