https://itcatmom.tistory.com/35
💡 관리자
공통 흐름 : 관리자 로그인
1.
시나리오 1 : 관리자 카테고리 관리
1. 공통 흐름 : 관리자가 로그인한다.
2. 관리자가 대시보드에서 "카테고리 관리 메뉴"를 선택한다.
3. "카테고리 관리 페이지"로 이동한다.
등록 흐름
4. "카테고리 관리 페이지" 하단의 "등록 버튼"을 클릭한다.
5. 팝업으로 뜬 "등록 폼"에 새로 생성하려는 '카테고리명'을 입력한다.
6. "등록 폼" 하단의 "등록 버튼"을 클릭한다.
- 조건 1. 중복된 카테고리명이 존재하면 → 오류 메시지 표시
- 조건 2. 입력하지 않은 필드가 있으면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 3. 성공적으로 처리되면 → 카테고리 관리 페이지로 리다이렉트
수정 흐름
7. 관리자가 "카테고리 리스트" 중 수정하려는 "대상 카테고리"를 클릭한다.
8. "수정 팝업"에서 변경하려는 "카테고리 명" 입력 후 "수정 버튼" 클릭
- 조건 1. 수정 버튼 누를 때 항상 경고 메시지 표시 → " 카테고리를 **로 수정하면 해당 카테고리에 속한 가게들에게 영향을 미칩니다. 그래도 변경하시겠습니까? "
- 조건 2. 중복된 지역명이 존재하면 → 오류 메시지 표시
- 조건 3. 입력되지 않은 필드가 있으면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 4. 성공적으로 처리되면 → 성공 메시지 표시 후 카테고리 관리 페이지로 리다이렉트
삭제 흐름
9. 삭제하려는 카테고리의 "체크박스" 선택 후 "삭제 버튼" 클릭
- 조건 1. 체크 박스는 전체 선택, 개별 선택 존재한다.
- 조건 2. 삭제 버튼 클릭 시 항상 경고 메시지 표시 → " 클릭하신 **, ***, ** 카테고리 삭제 시 해당 카테고리에 속한 가게들도 삭제됩니다. 그래도 삭제하시겠습니까? "
- 조건 3. 카테고리 삭제 시 카테고리에 속한 가게들도 삭제 된다.
- 조건 4. 성공적으로 처리되면 → 성공 메시지 표시 후 지역 관리 페이지로 리다이렉트
시나리오 2 : 관리자 지역 관리
1. 공통 흐름 : 관리자가 로그인한다.
2. 관리자가 대시보드에서 "지역 관리 메뉴"를 선택한다.
3. "지역 관리 페이지" 로 이동한다.
등록 흐름
4. "지역 관리 페이지" 하단의 "등록 버튼"을 클릭한다.
5. 팝업으로 뜬 "등록 폼"에 새로 생성하려는 '지역명'을 입력한다.
6. "등록 폼" 하단의 "등록 버튼"을 클릭한다.
- 조건 1. 중복된 지역명이 존재하면 → 오류 메시지 표시
- 조건 2. 입력되지 않은 필드가 있으면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 3. 대한민국 행정 구역이 아니라면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 4. 성공적으로 처리되면 → 성공 메시지 표시 후 지역 관리 페이지로 리다이렉트
수정 흐름
7. 관리자가 "지역 리스트" 중 수정하려는 "대상 지역" 을 선택한다.
8. 팝업으로 "지역에 대한 정보"와 "해당 지역에 속해있는 가게 정보"가 보여집니다.
- 조건 1. 가게 정보는 페이징 처리 → 한 페이지 당 5개까지 보임
- 조건 2. 가게 정보를 클릭하면 → 팝업창으로 가게 상세 정보가 보임
- 조건 3. 하단의 검색창에 검색하면 → 검색 필터가 적용된 가게 리스트가 출력 (검색 대상 : 가게명)
9. 수정하려는 지역명 입력 후 "수정 버튼" 클릭한다.
- 조건 1. 수정 버튼 누를 때 항상 경고 메시지 표시 → " 지역을 **로 수정하면 해당 지역에 속한 가게들에게 영향을 미칩니다. 그래도 변경하시겠습니까? "
- 조건 2. 중복된 지역명이 존재하면 → 오류 메시지 표시
- 조건 3. 입력되지 않은 필드가 있으면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 4. 대한민국 행정 구역이 아니라면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 4. 성공적으로 처리되면 → 성공 메시지 표시 후 지역 관리 페이지로 리다이렉트
10. "삭제하려는 지역에 대한 체크 박스" 클릭 후 좌측 하단의 "삭제 버튼" 클릭한다.
- 조건 1. 체크 박스는 전체 선택, 개별 선택 존재한다.
- 조건 2. 삭제 버튼 클릭 시 항상 경고 메시지 표시 → " 클릭하신 **, ***, ** 지역 삭제 시 해당 지역에 속한 가게들도 삭제됩니다. 그래도 삭제하시겠습니까? "
- 조건 3. 지역 삭제 시 지역에 속한 가게들도 삭제 된다.
- 조건 4. 성공적으로 처리되면 → 성공 메시지 표시 후 지역 관리 페이지로 리다이렉트
💡 사장님
공통 흐름 : 사장님 로그인
1.
시나리오 1 : 사장님 가게 관리
1. 공통 흐름 : 사장님이 로그인한다.
2. 사장님이 대시보드에서 "가게 관리 메뉴"를 클릭한다.
등록 흐름
3. 사장님이 "가게 관리 페이지"의 "가게 등록 버튼"을 클릭한다.
4. 팝업으로 뜬 "가게 폼"에서 '사업자 번호' ,'가게명', '가게 카테고리', '가게 지역', '가게 설명', '가게이미지', '가게 오픈 시간', '가게 클로즈 시간', '가게 전화번호', '배달 최소 주문 금액' , '포장 가능 여부' , '정기 휴무 요일', '정기 휴무 날짜', '최대 주문 수량' 정보를 입력 후 "등록 버튼"을 누른다.
* 필수
가게명 / 가게 카테고리 / 가게 지역 / 가게 오픈 시간 / 가게 클로즈 시간 / 사업자 번호
* 선택
가게 설명 (null) / 가게 이미지 (디폴트 이미지) / 가게 전화번호 (null) / 배달 최소 주문 금액 (0) / 포장 가능 여부(N) /
정기 휴무 요일 (null) / 정기 휴무 날짜 (null) / 최대 주문 수량 (100) / 브레이크 타임
* 가게 등록 폼에서 입력하지 않지만 가게 테이블에 존재하는 값
가게 대표자 ID (생성 시 등록) / 가게 생성일 (생성 시 등록) / 가게 수정일 (null) / 가게 폐업일 (null) /
임시 휴무 시작일 (null) / 임시 휴무 종료일 (null) / 가게 상태 (prepairng)
(상태 종류 : preparing, open, closed, 'temporarily_closed', permanently_closed, break_time)
Q. '배달 가능 지역' , '평균 배달 시간' , '배달 거리 별 추가 배달 금액' 은 어떻게 설정해야 하지?
Q. 가게 리뷰 수 , 가게 평점 등은 리뷰 테이블을 따로 만들고, 찜 수도 찜 테이블을 따로 만들면 될 듯
Q. 대표자가 가게 정보를 수정할 때마다 테이블에 저장할 게 아닌 이상 즉 ,로그 성으로 데이터 저장하는 게 아닌 이상 수정 일자는 필요 없지 않나?
- 조건 1. 입력되지 않은 필드가 있으면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 2. 가게 "카테고리" 및 가게 "지역"은 관리자가 등록해 둔 리스트에서 "선택" 가능
- 조건 3. '가게 설명' 하단의 "AI 추천 링크'를 누르면 AI를 통해 문구 추천 받을 수 있음
→ 히스토리성 로그를 위해 AI를 통해 질문 및 답변 받을 경우 사장 이름과 함께 테이블에 저장됨 - 조건 4. 종료일은 시작일보다 이전 날짜로 선택할 수 없도록 설정할 것
- 조건 5. 사장은 가게 오픈 시간과 클로즈 시간을 똑같이 설정할 수 없다.
→ 대신, 시간 옆의 24시간 운영 체크 박스를 클릭하면 오픈 시간 클로즈 시간 비활성화
→ 24시간 운영 버튼 누를 시 테이블에는 오픈 시간과 클로즈 시간이 00:00로 입력된다. - 조건 6. 성공적으로 처리되면 → 성공 메시지 표시 후 가게 관리 페이지로 리다이렉트
수정 흐름
5. "가게 리스트"에서 수정하려는 "가게" 클릭
6. "가게 폼"에서 변경하려는 정보 기입 후 하단의 수정 버튼 클릭
* 필수
가게명 / 가게 카테고리 / 가게 지역 / 가게 오픈 시간 / 가게 클로즈 시간 / 사업자 번호
* 선택
가게 설명 (null) / 가게 이미지 (디폴트 이미지) / 가게 전화번호 (null) / 배달 최소 주문 금액 (0) / 포장 가능 여부(N) /
임시 휴무 시작일 (null) / 임시 휴무 종료일 (null) / 정기 휴무 요일 (null) / 정기 휴무 날짜 (null) / 최대 주문 수량 (100) / 브레이크 타임
* 가게 수정 폼에서 입력하지 않지만 가게 테이블에 존재하는 값
가게 대표자 ID (생성 시 등록) / 가게 생성일 (생성 시 등록) / 가게 수정일 (null) / 가게 폐업일 (null) / 가게 상태 /
* 그 외 수정 화면에 보이는 정보
찜수 / 리뷰수 / 평점
- 조건 1. 수정 버튼 클릭 시 변경 내용에 대한 메시지 출력 → "{변경정보} 위의 내용대로 가게를 수정하시겠습니까?"
- 조건 2. 입력되지 않은 필드가 있으면 → 필드 하이라이트 및 오류 메시지 표시
- 조건 3. 가게 "카테고리" 및 가게 "지역"은 관리자가 등록해 둔 리스트에서 "선택" 가능
- 조건 4. '가게설명' 하단에 "AI 링크"를 누르면 AI를 통해 가게 정보 추천 받을 수 있음
→ 히스토리성 로그를 위해 AI를 통해 질문 및 답변 받을 경우 사장 이름과 함께 테이블에 저장됨 - 조건 5. 종료일은 시작일보다 이전 날짜로 선택할 수 없도록 설정할 것
- 조건 6. 사장은 가게 오픈 시간과 클로즈 시간을 똑같이 설정할 수 없다.
→ 대신, 시간 옆의 24시간 운영 체크 박스를 클릭하면 오픈 시간 클로즈 시간 비활성화
→ 24시간 운영 버튼 누를 시 테이블에는 오픈 시간과 클로즈 시간이 00:00로 입력된다. - 조건 7. 성공적으로 처리되면 → 성공 메시지 표시 후 가게 관리 페이지로 리다이렉트
삭제 흐름
7. "가게 리스트"에서 삭제하려는 "가게" 체크 박스로 선택
- 조건 1. 삭제 버튼 클릭시 삭제 내용에 대한 메시지 출력 → "** , *** 가게를 삭제하겠습니다. 정말 삭제하시겠습니까?"
- 조건 2. 성공적으로 처리되면 → 성공 메시지 표시 후 가게 관리 페이지로 리다이렉트
검색
8. "가게 관리 페이지"에서 '가게명' 기준으로 검색하려는 대상을 선택 후 "검색창"을 통해 검색 가능
필터 & 정렬
9. "가게 관리 페이지"에서 '가게명' 기준으로 오름차순, 내림차순 정렬 가능
시나리오 2 : 사장님 메뉴 관리