crystal_dev
Crystal 개발 일지
crystal_dev
전체 방문자
오늘
어제
  • 분류 전체보기 (58)
    • Web (0)
    • Frontend (32)
      • React (0)
      • Javascript (17)
      • HTML & CSS (14)
      • DOM API (0)
    • 사이드프로젝트 (1)
      • Flask (1)
    • CS (0)
      • Network (0)
    • 형상관리 & 개발도구 (2)
      • git (1)
      • VSCode (1)
    • 알고리즘 (19)
      • 백준 알고리즘 (1)
      • 프로그래머스 (17)
      • 기타 (1)
    • Error (2)
      • javscript (1)
      • python (1)
    • blog (2)
      • daily (1)
      • 회고 (0)
      • it참고 (0)
      • 항해99 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Javascript
  • 자바스크립트
  • js 기본
  • Programmers
  • frontend
  • 풀이
  • css정렬
  • 프로그래머스
  • userfont
  • 느슨한타입
  • css위치
  • 알고리즘
  • js기본
  • 프론트엔드
  • Algorithm
  • javascript error
  • let
  • match()
  • js
  • CSS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
crystal_dev

Crystal 개발 일지

[ch1] 6조 S.A (Starting Assignment)
blog/항해99

[ch1] 6조 S.A (Starting Assignment)

2022. 7. 11. 17:43
728x90
반응형
1. 프로젝트 명
2. 소개
3. 와이어 프레임
4. 개발해야 하는 기능들
5. public github repo 주소

 

1. 프로젝트 명

SUBLab

 

2. 소개

서브웨이 레시피 존맛 찾고 싶어요

 

3. 개발해야 하는 기능들

 

- 로그인 페이지

  1. 토큰이 인증되지 않은 유저는 맨 처음 들어왔을 때 로그인 페이지에 진입함.
  2. 만약, 회원가입 하지 않은 유저라면 회원 가입 버튼 누르면 회원가입 페이지로 전환.
  3. 유저가 ID, PW 기입하고 로그인 버튼 누르면 로그인 됨.
    • 로그인 실패시 오류 메시지 출력.
  4. 로그인이 성공하면 메인 페이지로 이동함.

- 회원가입 페이지

  1. 유저가 ID, PW, PW 확인 필드를 모두 기입하면, 회원가입 버튼이 활성화.
      1. 아이디는 중복 확인 버튼 있어서 누르고 중복 확인 성공시에 해당 아이디 사용 가능
    1. 유저가 회원가입 버튼 누르면,
      1. 아이디 규칙: 특수문자 사용 금지
      2. 패스워드 규칙: 6자리 이상
      3. 아이디, 패스워드 규칙 만족시 회원 가입 후 로그인 페이지로 이동.
    2. 유저가 회원 가입 페이지에서도 로그인 버튼 클릭하면 로그인 페이지로 이동 가능.

- 홈 페이지

  1. 유저가 로그인 버튼을 누르면 로그인 페이지로 이동.
  2. 메인 페이지에서 유저는 서브웨이 탑 레시피 5개를 볼 수 있음.
  3. 유저가 검색창에 메뉴이름 적으면, 검색 결과 페이지로 이동.
  4. 유저가 레시피 등록 버튼을 누르면 레시피 작성 페이지로 이동함. (로그인 하지 않은 경우는 알랏 메시지 뜨고 로그인 페이지로 이동)

- 레시피 작성 페이지

  1. 유저는 레시피의 이름을 붙일 수 있음.
  2. 유저는 메뉴 선택, 빵 선택, 추가토핑 선택, 야채&소스 선택https://www.subway.co.kr/utilizationSubway#none
    • 유저는 해당 메뉴에 따른 총 칼로리를 볼 수 있음.
  3. 단계에 따라 구분선 있는 체크박스에서 선택 가능
  4. 유저는 텍스트 필드에 레시피의 상세한 내용을 적을 수 있음.
  5. 유저가 레시피 등록 버튼을 클릭하면 등록됨. 메인으로 이동함.


- 검색 결과 페이지

  1. 유저가 검색창에 메뉴이름 적으면, 해당 메뉴의 추천 레시피 리스트로 뜸.
  2. 유저가 특정레시피를 클릭하면 해당 레시피의 상세 페이지로 이동.
  3. 유저가 레시피 등록 버튼을 누르면 레시피 작성 페이지로 이동함.

- 레시피 상세 페이지

  1. 상세페이지에서는 레시피 이름, 정보, 칼로리, 총평점, 댓글을 볼 수 있음.
  2. 유저는 각 레시피에 평점과 댓글을 달 수 있음. (로그인 하지 않은 경우는 입력하는 필드가 아예 없게)

 

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
반응형
저작자표시 (새창열림)
    crystal_dev
    crystal_dev
    어제보다 더 나은 오늘의 내가 되자 ✧ʕ̢̣̣̣̣̩̩̩̩·͡˔·ོɁ̡̣̣̣̣̩̩̩̩✧

    티스토리툴바