ㆍLUNCH
- 프로젝트 시작이유
1. 코로나로 점심배달 ->
모든인원 한꺼번에 주문 ->
잦은 human error 발생(주문누락, 메뉴오입력등)
2. 주문자의 업무부하(10:30 ~ 11:00 개인업무의 충실할수가 없음)
2-1. 위의 업무부하는 사람수와 메뉴의 수가 다를때 자주 일어난다는 사실을 인지
(배달의민족 주문 기준)
- 해결책
1. 메신저에서 웹으로 입력 페이지 변경하여 DB로 관리 (메뉴및 추가,선택사항 이력으로 남음)
2. 메인메뉴마다 입력토록 변경
예시) 떡볶이 + 야채튀김 2
변경후) 떡복이 1
야채튀김 2
- 위 상황이 소수인원일때는 오류 잦지 않지만 15명이 시키면
15인 40메뉴가 나올수도있음. (배달의 민족 장바구니 기준)
- 고려사항
사용자 주문(메인메뉴 notnull, 선택사항 null, 추가메뉴 null)
선택사항이 있는경우는 라디오 버튼이라 필수입력사항이지만 선택사항이 존재하지않는 메뉴도 있음
최종적으로 주문자의 부하를 줄이는 핵심은 DBquery에 있었다.
ORDER BY mainmenu , menu_option, addmenu
order by절로 정렬하여서 해결하여, 주문자의 주문시간 단축
count(mainmenu) where date = #{today} query로
주문자수와 메뉴수가 일치하지않아도 장바구니에 담긴 숫자만으로 체크가능
후기,
처음시작은 간단한 목표였지만 하다보니 욕심이 생겼고,
더 유저친화적으로 만들고 싶었지만 짬날때마다 만들다 보니... 완성도가 떨어졌다.
다시보니 ... 카운트 메인메뉴가 없다?
프로젝트 구성
"/" - 이름으로 로그인
"/lunch" - 식당선택
10:20 에 cron사용 enablescheduling 하여
1 선택된 식당 중 랜덤 선택
2 선택된 식당이 없는경우 -> 기존에 시켰던 식당중 랜덤으로 골라짐
"/menu" - 선택된식당의 메뉴를 선택
'식사X' 인원 '메뉴를 고른 인원' 더하여 총원과 비교 후 주문자 음식 주문
'ㆍ사이드 프로젝트' 카테고리의 다른 글
[SIDE] LUNCH - 6 / 뷰 페이지 둘러보기 (0) | 2022.03.14 |
---|---|
[SIDE] LUNCH - 5 / view (webapp 폴더 이하) (0) | 2022.03.14 |
[SIDE] LUNCH - 4 / Controller-VO-repo-Service (0) | 2022.03.14 |
[SIDE] LUNCH - 3 / 개발 환경 구축 & sweetalert (0) | 2022.03.11 |
[SIDE] LUNCH - 2 / 스토리보드 구상 - DB 만들기 (1) | 2022.03.11 |