-
Notifications
You must be signed in to change notification settings - Fork 1
사용자 기능
jeongeun1127 edited this page Jun 8, 2021
·
18 revisions
- ID, 비밀번호, 비밀번호 확인, 이름, 휴대폰 번호를 필수 입력값으로 받는다.
- 주소를 선택 입력값으로 받는다.
- 주소를 입력하면 배달 기본 주소로 설정한다.
- ID 중복 확인 기능이 필요하다.
- 비밀번호 단방향 암호화 처리가 필요하다.
- 필수값을 모두 입력한 가입 요청이 오면 가입 성공 응답을 보낸다.
- 필수값을 입력하지 않은 가입 요청이 오면 그에 맞는 가입 실패 이유와 응답을 보낸다.
- ID, 비밀번호를 필수 입력값으로 받는다.
- '자동 로그인' 옵션을 체크박스로 만든다.
- '자동 로그인' 옵션은 토큰 방식을 사용한다.
- 옳은 ID, 비밀번호를 입력하는 것이 로그인 성공의 조건이다.
- 로그인 성공 시 세션값을 등록하고 웰컴페이지로 이동한다.
- 로그인 실패 시 원인에 따른 경고 메시지를 보낸다.
('존재하지 않는 ID입니다.' / '비밀번호가 올바르지 않습니다.' / '빈 칸은 허용되지 않습니다.') - 로그아웃을 클릭하면 세션을 종료한다.
- 내 정보를 조회/수정하려면 비밀번호를 입력해야 한다.
- 비밀번호가 일치하면 내 정보 창으로 이동한다.
- 비밀번호가 일치하지 않으면 경고 메시지를 보낸다.
('비밀번호가 올바르지 않습니다.') - ID, 이름은 변경할 수 없도록 한다.
- 비밀번호는 현재 사용 중인 비밀번호로 변경할 수 없도록 한다.
- 회원 탈퇴를 하려면 비밀번호를 입력해야 한다.
- 비밀번호가 일치하면 회원 탈퇴 창으로 이동한다.
- 비밀번호가 일치하지 않으면 경고 메시지를 보낸다.
('비밀번호가 올바르지 않습니다.') - 탈퇴 이유를 필수 입력값으로 받는다.
- 확인 버튼을 누르면 회원 탈퇴 의사를 재확인하는 Yes/No 메시지박스를 띄운다.
('정말 탈퇴하시겠습니까?') - Yes를 누르면 회원 탈퇴를 완료하고, 메시지박스를 띄운다. 확인을 누르면 로그인 창으로 이동한다.
('회원 탈퇴가 정상적으로 처리되었습니다.') - No를 누르면 메시지박스를 닫고, 창은 그대로 둔다.
- 탈퇴 30일 이내에 재로그인 시 회원 복구 의사를 묻는 메시지박스를 띄운다.
('탈퇴한 회원입니다. 회원으로 복구하시겠습니까?') - Yes를 누르면 회원 복구를 완료하고, 메시지박스를 띄운다. 확인을 누르면 로그인 창으로 이동한다.
('회원 복구가 완료되었습니다. 다시 로그인 해주세요.') - No를 누르면 메시지박스를 닫고, 창은 그대로 둔다.
- 사용자 기본 주소가 있다면 해당 주소 주변의 식당을 조회할 수 있도록 한다.
- 주소를 입력하는 기능을 제공하여 입력한 주소 주변의 식당을 조회할 수 있도록 한다.
- 주소를 새로 입력하거나 최근 입력한 주소들 중에서 선택할 수 있도록 한다.
- 음식 카테고리에 따라 식당들을 분류하여 사용자가 원하는 카테고리의 식당을 조회할 수 있는 기능을 제공한다.
- 배달요금, 거리, 최저 주문금액, 리뷰, 평점 등 원하는 조건으로 조회할 수 있도록 필터 기능을 제공한다.
- 사용자가 마음에 드는 식당을 찜할 수 있는 기능을 제공한다.
- 검색어를 입력하면 식당 이름과 첫 번째로 매칭하여 해당 검색어가 이름에 포함된 식당을 우선 보여준다.
- 식당의 메뉴 이름과 두 번째로 매칭하여 해당 검색어가 메뉴 이름에 포함된 식당을 다음으로 보여준다.
- 띄어쓰기에 상관없이 같은 결과가 검색되도록 처리한다.
- 검색어와 매칭하는 결과가 없으면 '검색 결과가 존재하지 않습니다.'라는 메시지를 띄운다.
- 메뉴의 수량을 조절하거나 메뉴를 삭제하는 기능이 필요하다.
- 목록 전체를 비울 수 있는 전체 삭제 기능이 필요하다.
- 각 메뉴의 가격을 표시하고, 배달비를 포함한 가격 총합을 도출하는 기능이 필요하다.
- 최소 주문금액을 만족하지 못하면 주문 단계로 넘어갈 수 없다.
- 최소 주문금액을 만족한다면 주문 단계로 넘어갈 수 있다.
- 장바구니 창을 빠져 나오더라도 저장된 목록은 그대로 남아있어야 한다.
- 결제 단계까지 모두 완료하면 장바구니를 비운다.
- 결제 단계가 완료되지 않으면 저장된 목록은 그대로 남아있어야 한다.
- 앱을 종료하면 장바구니를 비운다.
- 장바구니에는 한 식당의 메뉴만 담을 수 있다.
- 다른 식당의 메뉴를 담을 경우 메시지박스를 띄운다.
('다른 식당의 메뉴와 함께 담을 수 없습니다. 기존 장바구니를 비우고 메뉴를 추가하시겠습니까?') - Yes를 누르면 기존 장바구니를 비우고 메뉴를 추가한다.
- No를 누르면 메뉴를 추가하지 않고 기존 장바구니를 그대로 둔다.
- 사용자의 주소를 필수 입력값으로 받는다.
- 기본 주소 혹은 식당 조회 기능에서 주소를 새로 입력했다면 해당 주소가 기본값으로 입력되어야 한다.
- 사용자 요청사항을 선택 입력값으로 받는다.
- 주문은 결제에 의존하므로, 결제 기능은 주문 창에 두도록 한다.
- 선불결제(카드결제, 무통장입금, 계좌이체)/ 후불결제(카드결제, 현금결제) 등 결제수단을 선택하는 기능이 필요하다.
- 쿠폰을 사용할 수 있어야 한다.
- 적립금을 사용할 수 있어야 한다.
- 배달비를 포함한 결제 총액을 조회할 수 있어야 한다.
- 선불결제 선택 시 해당 결제창으로 넘어가야 한다.
- 선불결제 완료 시 결제 완료를 알리는 메시지박스를 띄우고, 확인을 누르면 주문내역 창으로 이동한다.
- 후불결제 선택 시 주문 완료를 알리는 메시지박스를 띄우고, 확인을 누르면 주문내역 창으로 이동한다.
- 사용자가 식당에 주문한 내역이 존재하면 해당 식당 리뷰를 작성할 수 있도록 한다.
- 주문내역이 있어도 주문일로부터 7일이 지나면 리뷰를 작성할 수 없도록 한다.
- 이미지, 텍스트를 업로드할 수 있어야 한다.
- 식당에 별점을 매기는 기능이 필요하다.
- 사용자가 작성한 자신의 리뷰들을 조회/삭제하는 기능이 필요하다.
- 리뷰를 작성하면 100원씩 적립금을 주는 기능이 필요하다.