Programming/TDD Project
Pull Request 001 - 요구 사항 분석
JKROH
2023. 9. 21. 16:52
반응형
[요구 사항은 언제든 추가, 삭제 및 수정 될 수 있습니다.]
- 회원 가입이 가능해야 한다.
- 이메일, 비밀번호, 닉네임, 전화번호,
성별,나이, 역할(바버 / 고객)은 반드시 입력해야 하며, (역할을 바버로 선택한 경우) 근무 중인 샵을 입력할 수 있어야 한다.
- 만일 근무 중인 샵이 등록되어 있지 않다면, 먼저 회원 가입을 하고 샵을 등록해야 한다.
- 만일 근무 중인 샵이 없다면, 아무 것도 입력하지 않을 수 있어야 한다.
- 네이버 이메일 인증 API를 이용하여 이메일 인증을 진행해야 한다.
- 이메일, 비밀번호, 닉네임, 전화번호,
- 로그인이 가능해야 한다.
- 이메일, 비밀번호를 입력해야 한다.
- OAuth 로그인이 가능해야 한다.
- 카카오톡, 구글을 우선 적용한다.
- 가능하다면 네이버 로그인도 적용한다.
- 회원 정보 페이지 조회 및 회원 정보 수정, 회원 탈퇴를 할 수 있어야 한다.
- 닉네임, 비밀번호의 수정이 가능해야 한다.
- 회원 사진을 추가할 수 있어야 한다.
- 최근 예약한 샵의 정보가 조회 가능해야 한다.
- 작성한 게시글이 조회 가능해야 한다.
- 바버의 경우, 근무 중인 샵을 수정할 수 있어야 한다.
- 바버샵을 등록할 수 있어야 한다.
- 바버로 로그인한 사용자만 해당 기능을 수행할 수 있어야 한다.
- 샵의 이름, 사진, 주소, 전화 번호, 소개글을 입력해야 한다.
- 해당 바버샵이 실제로 등록된 샵인지 검증할 수 있어야 한다.
- 각 바버샵의 정보를 조회할 수 있어야 한다.
- 해당 바버샵의 대표 사진, 주소, 전화 번호, 평점, 근무 중인 직원, 작성된 리뷰, 예약 일정을 확인할 수 있어야 한다.
- 지도에서 바버샵을 검색하고 검색한 바버샵에 예약할 수 있어야 한다.
- 네이버 지도 API, 또는 카카오 맵 API를 사용하여 주변 바버샵을 검색할 수 있어야 한다.
- 검색한 샵의 예약 일정을 확인할 수 있어야 한다.
- 고객이 예약 신청을 하면, 샵에서 해당 요청을 확인할 수 있게 이메일, 푸시 알람 등을 보내야 한다.
- 예약이 확정되면, 해당 샵의 일정을 수정해야 한다.
- 자유 게시판, 구인 구직 게시판, 리뷰 게시판이 있어야 한다.
- 게시글을 작성할 수 있어야 한다.
- 로그인 한 사용자만 해당 기능을 수행할 수 있게 제한해야 한다.
- 구인 구직 게시판의 경우, 구인과 구직을 구분한 글머리가 선택 가능해야 한다.
- 리뷰 게시판의 경우, 해당 샵을 실제로 이용하였다는 증빙이 가능해야 한다.
- 예약 기능을 통해 예약한 이후, 해당 시간이 지나면 리뷰를 작성할 수 있게 한다.
- 제목, 본문을 작성해야 한다.
- 만일 둘 중 하나가 채워지지 않았거나 내용이 특정 분량을 만족하지 않으면, 예외 처리하고 게시글을 등록할 수 없게 한다.
- 게시글의 수정, 삭제가 가능해야 한다.
- 게시글을 작성한 이용자만 해당 기능을 수행할 수 있게 제한해야 한다.
- 게시글 수정 시, 수정 시간이 갱신되어야 한다.
- 게시글을 조회할 수 있어야 한다.
- 비회원의 경우에도 게시글을 조회할 수 있도록 해야 한다.
- 게시글 조회 시 조회 수가 증가해야 한다.
- 게시글을 추천, 비추천 할 수 있어야 한다.
- 로그인 한 사용자만 해당 기능을 수행할 수 있게 제한해야 한다.
- 중복 추천 또는 비추천이 불가능하게 설정해야 한다.
- 비추천 수가 추천 수에 비해 20 이상 높으면, 해당 게시글은 삭제한다.
- 게시글에 댓글을 작성할 수 있어야 한다.
- 로그인 한 사용자만 해당 기능을 수행할 수 있게 제한해야 한다.
- 댓글의 수정, 삭제가 가능해야 한다.
- 댓글을 작성한 이용자만 해당 기능을 수행할 수 있게 제한해야 한다.
- 댓글 수정 시, 수정 시간이 갱신되어야 한다.
- 댓글을 조회할 수 있어야 한다.
- 비회원의 경우에도 댓글을 조회할 수 있도록 해야 한다.
- 댓글을 추천, 비추천 할 수 있어야 한다.
- 로그인 한 사용자만 해당 기능을 수행할 수 있게 제한해야 한다.
- 중복 추천 또는 비추천이 불가능하게 설정해야 한다.
반응형