Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

karrot-0014: 유저 스토리 기반 Controller 구조 분석 설계 #27

Open
hello-yoochul opened this issue Apr 23, 2023 · 1 comment
Assignees
Labels
Analysis Doc Improvements or additions to documentation

Comments

@hello-yoochul
Copy link
Contributor

hello-yoochul commented Apr 23, 2023

다 같이 의논 후 유저스토리 기반해 설계한 컨트롤러 구조 (User Story 원본)

회의 내용

  • MSA 위해, 도메인별 모듈화 예정 (User, Product, User, Chat, Push, Contact)

Controller

  • User
    • AdminController
      • Admin 01
      • Admin 02
      • Admin 03
      • Admin 04
    • UserController
      • Product Detail View 02
      • Product Detail View 05
      • UserInfo 01
      • UserInfo 02
      • UserInfo 03
      • UserInfo 04
      • UserInfo 05
      • UserInfo 07
      • UserInfo 08
      • UserInfo 09
      • UserInfo 10
      • UserInfo 11
    • LoginController
      • Login 01
      • Login 02
  • Product
    • ProductController
      • Search 01
      • Search 03
      • Product List View 01
      • Product List View 02
      • Product List View 03
      • Product Detail View 01
      • Product Posting 01
      • UserInfo 06
  • Chat
    • ChatController
      • Chat 01
      • Chat 02
      • Chat 03
      • Chat 05
  • Push
    • PushController
      • Search 02
      • Product Detail View 03
      • Notification 01
      • Notification 02
  • Contact
    • ReportController
      • Product Detail View 04
      • Chat 04
    • ContactController
      • Contact 01
      • Contact 02
      • Contact 03

User story

  • (Search) 검색
    • Search 01: 사용자는 등록된 상품을 키워드로 검색할 수 있어야한다. ✅
    • Search 02: 사용자가 검색한 상품에 대해, 새로운 상품이 등록되면 알림을 받을 수 있어야한다. ✅
    • Search 03: 사용자는 검색된 물품 중에서 필터링 기능을 사용할 수 있어야 한다. (거리, 카테고리, 가격, 정확도순/최신순) ✅
  • (Product List View) 물품 리스트 뷰 (홈 화면)
    • Product List View 01: 사용자는 위치, 사용자 설정 카테고리 기반으로 물품을 볼 수 있어야 한다. (현재 위치 기준, 최대 15km 까지 설정가능) 응답은 제목, 사진(저화질), 위치, 가격, 하트 개수, 채팅 개수를 볼 수 있어야 한다. 페이징 10개씩, 최신 포스팅 순서 ✅
    • Product List View 02: 가격, 물품상태 (new, good, not bad?), 공짜에 따라 필터링 가능해야 한다. (한국/영국 필터링 다름) ✅
    • Product List View 03: 사용자는 리스트뷰에서 원하는 카테고리(예, 아기용품)를 볼 수 있어야 한다.
  • (Product Detail View) 물품 상세보기
    • Product Detail View 01: 사용자는 제목, 사진, 카테고리, 물품 설명, 날짜, 판매자 미리보기(닉네임, 위치, 온도), 가격 제안 가능 여부, 즐겨찾기 상태, 비슷한 상품(카테고리 기준 2개), 판매자의 다른 판매 상품(기본 4개)을 볼 수 있어야 한다. ✅
    • Product Detail View 02: 사용자는 즐겨찾기 목록에 추가할 수 있어야 한다. ✅
    • Product Detail View 03: 사용자는 가격을 제안할 수 있어야한다. ✅
    • Product Detail View 04: 사용자는 해당 글을 신고할 수 있다. ✅
    • Product Detail View 05: 사용자는 해당 글을 판매자의 글을 보지 않도록 설정할 수 있다. ✅
  • (Product Posting) 물품 등록
    • Product Posting 01: 로그인 한 사용자는 사진, 글 제목, 가격, 게시글, 거래 희망 장소, 나눔 여부를 작성하여 물품을 등록할 수 있다.
  • (Login) 로그인
    • Login 01: 로그인 ✅
    • Login 02: 회원 가입 (전화번호, 위치, 닉네임, 사용자 고유ID) ✅
  • (Notification) 알림
    • Notification 01: 사용자는 즐겨찾기에 추가한 상품에 대하여 가격이 변동되면 알림을 받을 수 있어야한다. ✅
    • Notification 02: 사용자는 원하는 키워드 등록시 새로운 관련 상품 5개가 등록되면 알림을 해줘야한다. (사용자 페이지) ✅
  • (UserInfo) 사용자 페이지 - 로그인한 사용자만이 볼 수 있다. (보안)
    • UserInfo 01: 유저는 본인 사진을 등록할 수 있어야 한다. ✅
    • UserInfo 02: 유저는 위치 인증을 하여야 한다. ✅
    • UserInfo 03: 구매내역이 보이도록 해야 한다. ✅
    • UserInfo 04: 좋아하는 카테고리 설정 ✅
      • 홈 화면에서 보이는 물품에 대한 카테고리를 설정할 수 있어야 한다.
    • 판매 목록
      • UserInfo 05: 사용자가 판매중인 목록을 상태 (판매중, 판매완료, 숨김)에 따라 확인할 수 있어야 한다. ✅
      • UserInfo 06: 사용자는 게시글을 수정/삭제 할 수 있다. ✅
      • UserInfo 07: 사용자는 자주 쓰는 문구를 등록하고 관리할 수 있다. (추가/수정/삭제) ✅
        • 예, "직거래 가능"
    • 프로파일
      • UserInfo 08: 사용자는 본인 당근온도, 닉네임, 판매상품 개수, 받은 거래 후기 개수, 활동 배지 개수를 확인할 수 있어야 한다. ✅
      • UserInfo 09: 사용자는 이전 판매내역을 확인할 수 있어야 한다. ✅
      • UserInfo 10: 사진/이름 수정 기능 ✅
        • 유저는 본인 사진과 이름을 수정할 수 있어야 한다.
    • UserInfo 11: 배지 ✅
      • 예시
        • 3번 이상 거래시 브론즈 획득
        • 50번 이상 실버
        • 100번 골드
        • 500 다이아몬드
  • (Chat) 채팅
    • Chat 01: 구매자와 판매자 간 채팅이 가능하고 상대가 글을 읽었는지 확인이 가능해야 한다. ✅
    • Chat 02: 사용자는 다른사람과의 채팅시 목록에서 상대방의 정보(닉네임, 위치, 마지막 메세지, 마지막 메세지 전송 시간)을 볼 수 있다. ✅
    • Chat 03: 판매자는 구매자가 문의한 물품을 확인할 수 있어야 한다. ✅
    • Chat 04: 사용자(판매자/사용자)는 신고를 할 수 있어야 한다. ✅
    • Chat 05: 알림끄기/차단하기/채팅방 나가기(연락 더 못함) ✅
  • (Admin) 관리자
    • Admin 01: 관리자는 특정 사용자의 이용을 제재할 수 있어야 한다. ✅
    • Admin 02: 관리자는 문의내역에 답변할 수 있어야 한다. ✅
    • Admin 03: 관리자는 상품등록 어뷰징(욕설, 거짓상품)을 모니터링할 수 있어야 한다. ✅
    • Admin 04: 관리자는 '신고된' 채팅 어뷰징을 확인할 수 있어야 한다. ✅
  • (Contact) 고객센터
    • Contact 01: 사용자 문의내역을 물어보고 답변할 수 있어야 한다.
    • Contact 02: 사용자가 확인한 버그를 리포팅이 가능해야 한다.
    • Contact 03: 사용자가 원하는 개선점에 대한 조언이 가능해야 한다.
@hello-yoochul hello-yoochul changed the title karrot-0014: Controller 구조화 분석 설계 karrot-0014: 유저 스토리 기반 Controller 구조화 분석 설계 Apr 23, 2023
@hello-yoochul hello-yoochul changed the title karrot-0014: 유저 스토리 기반 Controller 구조화 분석 설계 karrot-0014: 유저 스토리 기반 Controller 구조 분석 설계 Apr 24, 2023
@tae0y
Copy link
Contributor

tae0y commented Apr 27, 2023

유저스토리 목록 정리

  • User
    • AdminController
      • Admin 01 관리자는 특정 사용자의 이용을 제재할 수 있어야 한다.
      • Admin 02 관리자는 문의내역에 답변할 수 있어야 한다.
      • Admin 03 관리자는 상품등록 어뷰징(욕설, 거짓상품)을 모니터링할 수 있어야 한다.
      • Admin 04 관리자는 '신고된' 채팅 어뷰징을 확인할 수 있어야 한다.
    • UserController
      • Product Detail View 02 사용자는 즐겨찾기 목록에 추가할 수 있어야 한다.
      • Product Detail View 05 사용자는 해당 글을 판매자의 글을 보지 않도록 설정할 수 있다.
      • UserInfo 01 유저는 본인 사진을 등록할 수 있어야 한다.
      • UserInfo 02 유저는 위치 인증을 하여야 한다.
      • UserInfo 03 구매내역이 보이도록 해야 한다.
      • UserInfo 04 좋아하는 카테고리 설정
      • UserInfo 05 사용자가 판매중인 목록을 상태 (판매중, 판매완료, 숨김)에 따라 확인할 수 있어야 한다.
      • UserInfo 07 사용자는 자주 쓰는 문구를 등록하고 관리할 수 있다. (추가/수정/삭제)
      • UserInfo 08 사용자는 본인 당근온도, 닉네임, 판매상품 개수, 받은 거래 후기 개수, 활동 배지 개수를 확인할 수 있어야 한다.
      • UserInfo 09 사용자는 이전 판매내역을 확인할 수 있어야 한다.
      • UserInfo 10 사진/이름 수정 기능
      • UserInfo 11 배지
    • LoginController
      • Login 01 로그인
      • Login 02 회원 가입 (전화번호, 위치, 닉네임, 사용자 고유ID)
  • Product
    • ProductController
      • Search 01 사용자는 등록된 상품을 키워드로 검색할 수 있어야한다.
      • Search 03 사용자는 검색된 물품 중에서 필터링 기능을 사용할 수 있어야 한다. (거리, 카테고리, 가격, 정확도순/최신순)
      • Product List View 01 사용자는 위치, 사용자 설정 카테고리 기반으로 물품을 볼 수 있어야 한다. (현재 위치 기준, 최대 15km 까지 설정가능) 응답은 제목, 사진(저화질), 위치, 가격, 하트 개수, 채팅 개수를 볼 수 있어야 한다. 페이징 10개씩, 최신 포스팅 순서
      • Product List View 02 가격, 물품상태 (new, good, not bad?), 공짜에 따라 필터링 가능해야 한다. (한국/영국 필터링 다름)
      • Product List View 03 사용자는 리스트뷰에서 원하는 카테고리(예, 아기용품)를 볼 수 있어야 한다.
      • Product Detail View 01 사용자는 제목, 사진, 카테고리, 물품 설명, 날짜, 판매자 미리보기(닉네임, 위치, 온도), 가격 제안 가능 여부, 즐겨찾기 상태, 비슷한 상품(카테고리 기준 2개), 판매자의 다른 판매 상품(기본 4개)을 볼 수 있어야 한다.
      • Product Posting 01 로그인 한 사용자는 사진, 글 제목, 가격, 게시글, 거래 희망 장소, 나눔 여부를 작성하여 물품을 등록할 수 있다.
      • UserInfo 06 사용자는 게시글을 수정/삭제 할 수 있다.
  • Chat
    • ChatController
      • Chat 01 구매자와 판매자 간 채팅이 가능하고 상대가 글을 읽었는지 확인이 가능해야 한다.
      • Chat 02 사용자는 다른사람과의 채팅시 목록에서 상대방의 정보(닉네임, 위치, 마지막 메세지, 마지막 메세지 전송 시간)을 볼 수 있다.
      • Chat 03 판매자는 구매자가 문의한 물품을 확인할 수 있어야 한다.
      • Chat 05 알림끄기/차단하기/채팅방 나가기(연락 더 못함)
  • Push
    • PushController
      • Search 02 사용자가 검색한 상품에 대해, 새로운 상품이 등록되면 알림을 받을 수 있어야한다.
      • Product Detail View 03 사용자는 가격을 제안할 수 있어야한다.
      • Notification 01 사용자는 즐겨찾기에 추가한 상품에 대하여 가격이 변동되면 알림을 받을 수 있어야한다.
      • Notification 02 사용자는 원하는 키워드 등록시 새로운 관련 상품 5개가 등록되면 알림을 해줘야한다. (사용자 페이지)
  • Contact
    • ReportController
      • Product Detail View 04 사용자는 해당 글을 신고할 수 있다.
      • Chat 04 사용자(판매자/사용자)는 신고를 할 수 있어야 한다.
    • ContactController
      • Contact 01 사용자 문의내역을 물어보고 답변할 수 있어야 한다.
      • Contact 02 사용자가 확인한 버그를 리포팅이 가능해야 한다.
      • Contact 03 사용자가 원하는 개선점에 대한 조언이 가능해야 한다.

@tae0y tae0y added Doc Improvements or additions to documentation Analysis labels Apr 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Analysis Doc Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants