-
Notifications
You must be signed in to change notification settings - Fork 0
요구사항 정의서
koo995 edited this page Sep 22, 2024
·
18 revisions
- 사용자 인증
- 기존회원 로그인
- 소셜 로그인
- 카카오 로그인
- 네이버 로그인
- 구글 로그인
- 로그인에 실패하면 오류메시지가 나타난다.
- 비밀번호 찾기
- 자동 로그인 버튼
- 이메일로 회원가입
- 이메일 작성 후 버튼 클릭하면 #2 회원가입 페이지로 이동한다.
- 중복된 이메일이 있으면 알림창을 통해 알려준다.
- 이메일 작성 후 버튼 클릭하면 #2 회원가입 페이지로 이동한다.
- 닉네임
- 닉네임의 중복을 체크한다.
- 비밀번호
- 영어, 숫자, 특수문자 포함한 8자리 이상으로 설정한다.
- 회원가입 버튼을 누르면 이메일 확인 코드를 보낸다.
- 처음 회원가입 완료 후 식단 태그 선택을 위한 페이지.
- 선택한 태그를 식품 추천에 사용함.
- 중복 선택이 가능하다.
- 아이디를 통해서 비밀번호를 찾을 수 있다.
- 이메일로 인증코드 제공.
- 화면에서 인증 코드 검증 후 비밀번호 재설정 가능.
- 검색창
- 클릭하면 #6 식품 검색 페이지로 이동.
- 식단에 해당하는 태그 나열
- 미리 정의한 태그들
- 저칼로리, 저탄수화물, 무탄수화물, 고탄수화물, 저단백질, 고단백질, 무설탕, 저지방, 무지방, 고지방, 저탄고지, 케토, 제로칼로리, 포만감이 큼, 고식이섬유 사람들이 많이 선택하는 순으로 나열
- 미리 정의한 태그들
- 사용자들이 많이 사용하는 온오프라인 상점 나열.
- 상점은 미리 정의함
- CU, Gs25, 세븐일레븐, emart24, 롯데마트, 이마트, 코스트코, 올리브영, 쿠팡, 마켓컬리
- 상점은 미리 정의함
- 상점 또는 태그를 통해 검색된 식품들은 #7 검색 결과 페이지에서 나타냄.
- 본인이 프로필에 선택한 태그를 중심으로 추천식품 나열.
- 각 식품의 카드에는 제조사, 식품명, 최신 사용자의 이미지(없으면 표시x), 리뷰 갯수, 태그(최대 상위 3개까지)들을 나타낸다.
- 제조사명은 식품명 앞에 소괄호를 이용하여 표시된다.
- 제조사명이 없으면 표시되지 않는다.
- 추천 기준은 사용자가 선택한 태그, 지금까지 본인의 다이어리에 등록되지 않은 식품, 식품의 리뷰 작성에서 선택된 추천과 비추천의 총 비율
- 추천 식품은 사용자가 섭취하지 않은 식품이므로 다이어리 등록 버튼이 없음.
- 식품 디테일 페이지에서는 다이어리 등록 버튼이 존재함.
- 상단에 식품 검색을 위한 검색창이 존재한다.
- 식품명, 제조사명 검색가능하다.
태그와 상점은 필터링 기능이다.
- 최근 섭취한 식품의 목록탭과 최근 검색어 목록 탭이 나타난다.
- 기본탭은 최근 섭취한 식품의 목록탭이다.
- 식품명 또는 제조사명이 일치하는 제품 또는 선택한 상점과 태그에 해당하는 식품들이 나타난다.
- 검색결과의 식품은 메인페이지의 식품카드와 같은 배치를 가진다.
- 정렬되는 순서는 정확도, 추천수.
- 다이어리에 등록하는 버튼이 존재한다.
- 각 식품을 클릭하면 #8 식품 디테일 페이지로 이동한다.
- 만족하는 검색 결과가 없을 수 있으니 #12 새로운 식품 등록 페이지로 이동하는 버튼이 하단에 있다.
- 기본적인 데이터는 식품의약품안전처의 데이터베이스를 이용하여 미리 데이터로 등록한다.
- 원재료성 식품(고구마, 바나나, 쌀)은 제조사명이 존재하지 않는다.
- 식품명, 제조사(원재료성 식품은 제조사가 표시되지 않는다.), 이미지들, 태그, 상점정보, 영양성분, 리뷰란이 나타난다.
- 이미지는 사용자들이 리뷰에 등록한 이미지들이며, 좌우 스크롤로 탐색가능.
최신순의 이미지가 나타난다. - 태그는 사람들이 가장 많이 선택한 태그순으로 나타난다.
- 이미지는 사용자들이 리뷰에 등록한 이미지들이며, 좌우 스크롤로 탐색가능.
- 리뷰란에는 리뷰갯수, 리뷰, 리뷰정렬 버튼이 포함된다.
- 각 리뷰는 추천 비추천 버튼이 존재한다.
- 리뷰 정렬은 최신순, 오래된순, 추천순을 선택할 수 있다.
- 추천 비율이 높은 리뷰가 상위에 노출된다.
- 각 리뷰에는 닉네임, 작성 날짜, 이미지, 리뷰메시지, 리뷰의 추천수가 나타난다.
- 본인이 작성한 리뷰는 수정하기 버튼이 존재한다.
- #9 리뷰 작성 페이지로 이동.
- 하단에 리뷰작성하기 버튼이 존재한다.
-
#9 리뷰 작성 페이지 이동.
- 이미 작성한 리뷰가 있다면 기존의 리뷰를 수정하도록 한다.
-
#9 리뷰 작성 페이지 이동.
- 잘못된 영양성분에 대해서는 관리자가 수정할 수 있다.
- 리뷰는 한사람당 하나의 식품에 하나의 리뷰만 작성가능하다.
- 작성한 리뷰가 있을때 리뷰작성 버튼을 눌러주면 작성했던 리뷰를 불러와서 수정이 가능하다.
- 태그는 미리 정의되어 있는 태그중에서 선택 가능하다.
- 상점은 미리 정의되어 있는 상점중에서 선택 가능하다.
- 제품의 추천 또는 비추천을 선택할 수 있다.
- 리뷰를 작성
- 공백 제외 최소 20자 이상 최대 500자
- 이미지도 등록 가능하다.
- 리뷰의 작성 시간은 대한민국의 현재시간을 기준으로 저장된다.
- 상단에 날짜별로 이동할 수 있다.
- 달력을 통해서도 이동할 수 있다.
- 하루동안 섭취한 칼로리와 영양성분을 표시한다.
- 아침, 점심, 저녁, 간식 먹은 것을 등록할 수 있다.
- 각 식사당 칼로리와 영양성분을 표시한다.
- 플러스 버튼을 클릭하면 #6 식품 검색 페이지로 이동한다.
- 다이어리에 등록한 식품은 식품명, 제조사, 단위, 칼로리만 표시한다.
- 리뷰를 작성하지 않았다면 리뷰작성 버튼이 나타난다.
- #9 리뷰 작성 페이지로 이동한다.
- 리뷰를 작성한 식품은 리뷰작성 버튼이 없다.
- 제조사명이 없으면 (원재료성 식품 또는 부정확한 식품) 리뷰작성 버튼은 없다.
- 각 다이어리의 내용에 해당하는 식사들은 클릭하면 #11 다이어리 식품 등록 페이지에서 기록을 수정할 수 있다.
- 아침, 점심, 저녁, 간식을 선택할 수 있다.
- 다이어리에서 플러스 버튼으로 선택한 식사가 기본으로 선택된다.
- 서빙단위 또는 무게(그램)로 단위 선택 가능
- 서빙 단위는 식품이 처음 등록될 때 함께 등록된 단위가 나타난다. 예: (1)컵, (1)개, (1)인분
- 위에서 선택한 단위에 맞게 숫자 선택 가능.
- 식품의 갯수가 단위라면 1개 2개, 식품의 무게가 단위라면 100g 200g이 될 것이다.
- 아래에는 단위당 칼로리와 영양성분이 계산되어 표시됨.
- 저장 버튼
- 저장을 하면 회원이 특정 식품을 처음 섭취하는 것인지 아닌지 체크를 하여 db에 저장한다.
- 식품명, 제조사명 입력 가능
- 서빙 사이즈, 서빙 단위
- 서빙 사이즈와 서빙 단위를 합쳐서 1인분, 1개, 1회 제공량, 1컵
- 계량 서방단위(그램)를 적어준다.
- 칼로리와 영양분 계산시 그램을 기준으로 한다.
- 서빙 단위 당 칼로리
- 영양정보 기입
- 탄수화물, 단백질, 지방, 식이섬유, 등 기입가능.
- 탄, 단, 지 만 필수요소.
- 탄수화물, 단백질, 지방, 식이섬유, 등 기입가능.
- 프로필 정보 수정 가능
- #14 프로필 정보 수정 페이지로 이동한다.
- 작성한 리뷰를 모아볼 수 있다.
- #15 작성한 리뷰 페이지로 이동한다.
- 로그아웃 버튼
- 선호하는 태그를 수정할 수 있다.
- 닉네임을 수정할 수 있다.
- 수정할 닉네임도 중복체크가 필요하다.
- 비밀번호를 변경가능하다.
- 회원탈퇴 버튼
- 회원을 탈퇴하더라도 등록한 식품과 리뷰는 유지한다.
- 식품명, 제조사, 리뷰만 나타난다.
- 클릭하면 #8 식품 디테일 페이지의 해당 식품의 리뷰로 이동한다.