728x90
반응형
1. 프로젝트 명
2. 소개
3. 와이어 프레임
4. 개발해야 하는 기능들
5. public github repo 주소
1. 프로젝트 명
SUBLab
2. 소개
서브웨이 레시피 존맛 찾고 싶어요
3. 개발해야 하는 기능들
- 로그인 페이지
- 토큰이 인증되지 않은 유저는 맨 처음 들어왔을 때 로그인 페이지에 진입함.
- 만약, 회원가입 하지 않은 유저라면 회원 가입 버튼 누르면 회원가입 페이지로 전환.
- 유저가 ID, PW 기입하고 로그인 버튼 누르면 로그인 됨.
- 로그인 실패시 오류 메시지 출력.
- 로그인이 성공하면 메인 페이지로 이동함.
- 회원가입 페이지
- 유저가 ID, PW, PW 확인 필드를 모두 기입하면, 회원가입 버튼이 활성화.
-
- 아이디는 중복 확인 버튼 있어서 누르고 중복 확인 성공시에 해당 아이디 사용 가능
- 유저가 회원가입 버튼 누르면,
- 아이디 규칙: 특수문자 사용 금지
- 패스워드 규칙: 6자리 이상
- 아이디, 패스워드 규칙 만족시 회원 가입 후 로그인 페이지로 이동.
- 유저가 회원 가입 페이지에서도 로그인 버튼 클릭하면 로그인 페이지로 이동 가능.
-
- 홈 페이지
- 유저가 로그인 버튼을 누르면 로그인 페이지로 이동.
- 메인 페이지에서 유저는 서브웨이 탑 레시피 5개를 볼 수 있음.
- 유저가 검색창에 메뉴이름 적으면, 검색 결과 페이지로 이동.
- 유저가 레시피 등록 버튼을 누르면 레시피 작성 페이지로 이동함. (로그인 하지 않은 경우는 알랏 메시지 뜨고 로그인 페이지로 이동)
- 레시피 작성 페이지
- 유저는 레시피의 이름을 붙일 수 있음.
- 유저는 메뉴 선택, 빵 선택, 추가토핑 선택, 야채&소스 선택https://www.subway.co.kr/utilizationSubway#none
- 유저는 해당 메뉴에 따른 총 칼로리를 볼 수 있음.
- 단계에 따라 구분선 있는 체크박스에서 선택 가능
- 유저는 텍스트 필드에 레시피의 상세한 내용을 적을 수 있음.
- 유저가 레시피 등록 버튼을 클릭하면 등록됨. 메인으로 이동함.
- 검색 결과 페이지
- 유저가 검색창에 메뉴이름 적으면, 해당 메뉴의 추천 레시피 리스트로 뜸.
- 유저가 특정레시피를 클릭하면 해당 레시피의 상세 페이지로 이동.
- 유저가 레시피 등록 버튼을 누르면 레시피 작성 페이지로 이동함.
- 레시피 상세 페이지
- 상세페이지에서는 레시피 이름, 정보, 칼로리, 총평점, 댓글을 볼 수 있음.
- 유저는 각 레시피에 평점과 댓글을 달 수 있음. (로그인 하지 않은 경우는 입력하는 필드가 아예 없게)
4. 와이어 프레임
1) 회원가입 페이지
2) 로그인 페이지
3) 레시피 작성 페이지
4) 홈 페이지
5) 검색 결과 페이지
6) 레시피 상세 페이지
5. public github repo 주소
https://github.com/ericagong/week1_team6
ericagong/week1_team6
Contribute to ericagong/week1_team6 development by creating an account on GitHub.
github.com
6. API
기능 | method | url | request | response | 코멘트 |
로그인 | post | { "id" : "id(string)", "password" : "password(password)", } | { "message" : "로그인 되었습니다." , "error" : "아이디 혹은 패스워드가 잘못되었습니다." } | ||
아이디 중복 확인 | get | /api/idcheck | { "id" : "id(string)" } | { "ok": true/false } | |
회원가입 | post | /api/signup | { "id" : "id(string)", "password" : "password(password)", } | { "message" : "회원가입 되었습니다." } | |
로그아웃 | post | /api/signout | { "ok": t/f(boolean) } | ||
레시피 작성 | post | /api/recipe/create | { "menu": "menu(string)", "recipe": { "bread": "bread(string)", "cheese": { "cheese1" : true, "cheese2" : false, ... }, "cheese": { "cheese1" : true, "cheese2" : false, ... }, "topping": { "topping1" : true, "topping2" : false, ... }, "vege": { "vege1": true, "vege2": false, ... }, "souce": { "souce1": true, "souce2": false, ... } } } | { "message" : "{레시피이름}이 등록되었습니다." , "error" : "레시피 이름은 필수적으로 입력해야 합니다." } | 객체에 한꺼번에 넣는게 나을지 배열에 넣는게 나을지. 키-값 형태에야지 빈 요소에 접근 안할것 같은데, 배열이 나을까? 빈 배열 문제. |
레시피 가져오기 | get | /api/recipe/:id | {”_id” : “id(int)”} | { "recipe" : "recipe" } | |
메뉴 검색 | get | /api/search/menu={} | { “menu” : “menu(string)”} | { "recipes" : [recipe, ...] } | |
댓글 작성 | post | /api/comment/create | { "writer" : "writer(string)", "comment" : "comment(string)", "star" : "star(int)" } | { "ok" : true/false(boolean) } |
728x90
반응형