SeonminKim1/PJ-TODAY_LUNCH

[마이페이지] 점심일지 CRUD, 회원정보 수정,탈퇴

Opened this issue · 1 comments

Aeius commented

1. 기간

2022.06.07 (화) ~ 2022.06.08 (수)

2. 기능 개요

  • 마이페이지에서 사용자는 회원정보를 '수정'하거나 '탈퇴' 할수 있다. (USER CRUD)
  • 마이페이지에서 사용자는 캘린더 형식의 '내 점심일지'를 볼 수 있다. (Diary CRUD)
  • (점심일지 조회) '점심일지'는 지난달, 다음달 등 월별로 볼 수 있어야 한다.
  • (점심일지 생성) 캘린더 빈칸 클릭하면, '점심일지 생성' 모달이 뜬다.
    • 모달에는 날짜, 상호명, 평점을 입력받는다.
    • 상호명은 검색 시스템 등으로 체크가 필요하다.
    • '등록'을 누르면, 점심일지 Table에 추가 되고 Score 평균이 Star Table에 업데이트 된다.
  • (점심일지 수정) 캘린더 빈칸 클릭하면, '점심일지 생성' 모달이 뜬다.
    • 점심일지 생성과 동일하며 Default 값(기존 수정 전 값)이 설정되어 나온다.
    • '수정'을 누르면, 점심일지 Table에 추가 되고 Score 평균이 Star Table에 업데이트 된다.
  • (점심일지 삭제) '점심일지'의 우측 상단 버튼을 누르면 삭제 가능하다.

3. 세부 구현 순서

  • 초안 HTML 페이지 작성
  • Diary Table 생성
  • 캘린더 기능 작성 (월별 이동)
  • 점심일지 조회 API 구현
  • 점심일지 생성 모달 구현
  • 점심일지 수정 모달 구현
  • 점심일지 생성 API - DB(Diary) 연동 구현
  • 점심일지 모달 - 검색 Drop-Down 구현 / 평점 (☆☆☆☆☆) 구현
  • 점심일지 수정 API - DB 연동 구현
  • 점심일지 삭제 API - DB 연동 구현
  • 점심일지 생성에서 Star Table 필드값 (avg_score, count), Restaurant (avg_score, count) 수정
  • 점심일지 수정에서 Star Table 필드값 (avg_score), Restaurant (avg_score) 수정
  • CSS 다듬기
  • 점심일지 수정/삭제 모달에서 Default 기존값 출력
  • NAV Link 구현
  • USER 정보 조회/수정 구현
  • USER 정보 삭제 구현

와이어 프레임
image

image

점심일지 Table 생성 관련 논의

  • 논의필요 1) 상호명이 DB에 삽입시 존재여부 체크 방식이 검색 시스템이어야 할듯

    • 문제점 1) 정확한 상호명을 USER가 입력하기 힘들다 (ex. 홍콩반점-강남점)
    • 문제점 2) 지도를 띄워서 입력하게 한다고 하는 것도 제약사항 많음.
      • ex) DB에 없는 음식점을 다녀왔을 수도 있다. (이건 배제 해야 할듯)
  • 논의필요 2) 점심일지 Table이 필요 하고, 점심일지 Table 내용을 계산해서 Star Table 업데이트해야 할 듯

    • 문제점 1) USER가 같은 음식점을 여러번 다녀왔는데 평점이 다를 경우, 마지막 평점으로 하기에는 논리가 안좋음.
    • 문제점 2) USER가 같은 음식점을 여러번 다녀왔을 경우. Star Table에 추가하면 USER 수 * 음식점 수 * DATE 수 의 DB에서 Query 추천 시스템 진행 (성능이슈)
    • 반영시 USER 수 * 음식점 수의 DB에서 Query 추천 시스템 진행
    • 반영시 회원가입 평점 입력 한 것들은 Star Table로 가서 점심일지 회원가입 날에 길게 쌓이는 것 방지 가능
    • 반영시 점심일지 Table에 추가 후 Score Table에 대한 평균 Update