내일배움단 프로젝트 챌린지 3일차 개발일지ㅣ메이킹챌린지 12기[개발일지]

 

🚗  팀 아콰마린 개발일지 3일차

3일차 : 레이아웃 디자인, 데이터베이스 설계, 플로우차트 설계

🤔 논제 정리


🎯  데이터베이스의 구성

  • 컬렉션 - 여러 개의 데이터베이스가 이용이 편리
    • 레시피 - 이름, 이미지, 링크, 재료, 난이도, 시간, 과정, 과정, 추천, 태그, 작성자, 날짜
    • 사용자 로그인 - 아이디, 패스워드, 이름
    • 즐겨찾기 - 즐겨찾기 이름, 음식 이름, 사용자 이름
    • 나만의레시피 - 레시피 이름, 작성자 이름, 추천수

🎯  데이터베이스 스크래핑

  • 수작업으로 데이터베이스를 작성하기 위한 응용프로그램
  • 리스틀리 - 데이터 스크래핑 크롬 확장 프로그램
  • 공유 스프레드 시트 - 데이터 취합 및 공동 작업

🎯  각 뼈대 별 필요한 기능 리스팅

🧩  메인페이지

  1. 로그인세션
    • 사용자 정보를 메인페이지에서 출력
    • 세션값이 있다면 마이페이지 아이콘
    • 세션값이 없다면 로그인버튼
  2. 내비게이션 페이지 렌더링
    • 다른페이지로 넘어가는 렌더링
  3. 추천레시피 출력
    • 00시가 지나면 추천수 1~10위의 데이터를 랜덤하게 출력

🧩  리스트페이지

  1. 페이지네이션
    • 한 페이지당 제한된 개수의 아이템을 출력
    • 페이지를 이동하면 해당 순서의 데이터 출력
    • 페이지 당 카드 개수, 순서 오프셋 설정
  2. 필터
    • 원하는 옵션의 필터 값을 선택, 파라미터 설정, 요청값으로 받아 필터 후 리턴
  3. 정렬
    • 추천 수를 내림차순으로 정렬하려 리턴
  4. 로그인세션
  5. 검색
    • 레시피 이름, 재료 등을 단어 일부만 일치해도 출력
    • 중복 데이터가 있다면 하나의 데이터만 골라내기

🧩  레시피페이지

  1. 로그인 세션
    • 후기 등록의 경우, 작성자 값을 받아옴
  2. 레시피 데이터 출력
    • 리스트페이지에서 선택한 레시피 카드의 이름에 맞는 데이터 리턴
  3. 후기 관리
    • 등록 : 작성자 이름으로 받아온 텍스트를 db에 저장
    • 수정 : 세션과 작성자 이름 일치조회 후 수정
    • 삭제 : 세션과 작성자 이름 일치조회 후 수정
  4. 즐겨찾기 추가
    • 세션과 레시피 이름 파라미터로 받아 db에 저장
    • 리스트 딕셔너리 형태

🧩  테마페이지

  • 개발자가 임의로 지정한 테마에 맞는 레시피 데이터 리턴

🧩  인기페이지

  • 추천 업데이트 날짜와 추천수를 찾아 1~10위에 해당하는 레시피 데이터 리턴

🧩  나만의레시피작성페이지

  1. 로그인세션
    • 세션 아이디와 작성자 정보의 일치여부 판단을 위해 필요
  2. 나만의레시피 수정
    • 세션 값과 작성자 정보 일치를 확인해 수정권한 파악한 뒤, 수정한 데이터를 업데이트
  3. 이미지업로드
    • 참조필요

🧩  마이페이지

  1. 로그인세션
  2. 즐겨찾기페이지 이동
  3. 나만의레시피페이지 이동

🧩  즐겨찾기페이지

  1. 로그인세션
    • 사용자 정보와 일치하는 즐겨찾기 정보를 가져오기
  2. 즐겨찾기 내용 조회
    • 즐겨찾기 데이터베이스에서 사용자 정보와 일치하는 데이터만 찾아 클라이언트 리턴
  3. 즐겨찾기 수정

🧩  나만의레시피보기페이지

  1. 로그인세션
  2. 출력 기능

🧩  로그인페이지

  1. 세션방식
  2. sha256 암호화 알고리즘
  3. 포스트형식
    • 사용자 정보가 보여서는 안됨

🧩  회원가입페이지

  • 이메일 인증 후, 일치여부 판단 참조
  • 패스워드 일치 여부

🖋 기술 정리


🛠  데이터베이스 스키마

recipes

이름 이미지 재료 난이도 시간 과정 링크 추천 태그 작성자 추천 업데이트

recipe_name recipe_img recipe_ing recipe_diff recipe_time recipe_detail recipe_link recipe_like recipe_taste recipe_writter recipe_update_like
str img_link str str int str web_link int str str str

users

사용자 아이디 사용자 패스워드 사용자 이름

user_id user_pwd user_name
email encrypted str str

bookmark

즐겨찾기 이름 음식 이름 사용자 이름

bookmark_name recipe_name user_name
str str str

myrecipe

음식 이름 작성자 이름 음식 이미지 추천수

recipe_name user_name recipe_name recipe_like
str str image_link int

👀  레퍼런스


🛠 리스틀리

https://www.listly.io/

🛠 공유 스프레드 시트

https://docs.google.com/spreadsheets/d/1i1vhKfUVjpgZDoDwRfYb1iQNDLLuUIXbb4Mi_64EFhQ/edit

🧩 플로우차트

🧩 피그마

https://www.figma.com/file/neRrIccnKMnzFzaX5HcJd3/메이킹챌린지-12기-1