# 어제 무엇을 했나요?
- 1. 테이블 명세서 작성
- 2. ERD 작성
- 3. API 명세서 작성
- 4. openapi 라이브러리 구조 확인
- 5. RESTfull 원칙 확인
# 오늘은 무엇을 할 것인가요?
- 1. 어제 작성한 문서들 리뷰 받기
- 2. 프로젝트 가상환경 세팅
- 3. 프로젝트 기본 세팅
- 4. 모델 확정(가능하면)
# 진행하는데 어려운 부분(도움이 필요한 부분)이 있나요?
- 1. 프로젝트 기본세팅 좀 공부 필요
오늘 학습 내용 ✅
리뷰
ERD
- 투표 타입 / 요약 상태 ENUM으로 수정 ✅
- 성공시에만 저장을 하고 상태 컬럼 없애고 실패한 경우 다음 로딩때 다시 요약을 진행하는걸로
- 좋아요 / 싫어요 ✅
- like / dislike 테이블로 분리 조회비용 감소를 위함
- 지금 요약테이블이 1대 다로 연결 수정 요망 ✅
- 리뷰가 달릴때마다 업데이트 필요 생각
- 리뷰가 추가 될 경우 바로 요약을 진행
요구사항 정의서
- 리뷰 - 필요데이터 넣기 ✅
- 댓글 - 필요데이터 넣기 ✅
- 부적절 콘텐츠 - 부적절한 콘텐츠를 어떤식으로 개선했냐 - 필터링 가능한 라이브러리 존재함
- 1차로 걸러내고 ai에서 2차로 넘기는게 좋을 듯 ✅
- ui/ux 따로 띄지말고 연결되는 부분 아래에 적기 ✅
내 파트X
- 탈퇴 - 관련 데이터 싹다 날리기 / 유예기간 주기
- 게임 정보 - 어디에서 가져올지 적기 / 크롤링? / 게임정보 DB?
- 유저테이블이랑 장르테이블을 다대다로 정의할 수 있는 테이블 필요
비속어 처리
- better-profanity 라이브러리를 사용하여 1차 정제 후 2차로 재미나이한테 넘기기
좋아요 / 싫어요 처리 방식
-
review_like
- 유저 아이디 : 나중에 좋아요 취소를 위해 사용 / 중복 투표 방지
-
인덱스(Index) 설정
- 인덱스를 설정한다는 것은 "책의 맨 뒤에 있는 색인(찾아보기)을 만드는 것"
- 인덱스가 없으면, 데이터베이스는 1페이지부터 끝까지 다 뒤져야 합니다(Full Scan).
- 인덱스를 걸면 "원하는 페이지로 바로 이동"할 수 있습니다.
- 덱스에 "유일해야 한다"는 규칙을 걸면, 시스템이 자동으로 중복된 데이터가 들어오는 것을 강제로 막아줍니다.
-
review모델에 like_count 추가
- row가 추가되지는 않으며 like_count의 값만 수정됨
멘토링 요구사항
ERD
-
굳이 필요없는것은 넣을필요 없다.
- user
- 본명 빼기
- 성별 - Enum변경 요망
- 프로필 text
- 소셜
- 토큰 둘다 X
- provider_user_name
-
int 는 전부 bignit ✅
-
댓글
-
댓글 / 리뷰
- is_deleted 필요 (soft_delete) ✅
- rating - float/tinyint
-
view_like
-
wishlist
- created_at 추가 ✅
- user -> user_id ✅
-
games
- release -> relese_datetime - datetime ✅
- developer - varchar(255) ✅
- name -> varchar(255) ✅
-
games_platform ✅
-
games ✅
- created_at / updated_at / is_delated
- score 추가 / scores 테이블은 지우기
-
game_img ✅
-
tag -> game_genre
-
선호 ✅
-
요약테이블 ✅
- is_deleted 추가
- 특정 일자마다 한번씩 처리하고 최신 요약리뷰를 보여주자
- 레이팅을 기반으로 한번 필터를 해서
ERD 리뷰 반영
댓글 / 리뷰
is_deleted 추가
- 리뷰 데이터를 DB에서 아예 없애버리지 말고(Hard Delete)
- '지워진 상태'라는 표시만 남겨두라(Soft Delete)"는 뜻
- 게임 리뷰와 댓글은 서비스 입장에서 매우 소중한 자산이기 때문에 보통 바로 삭제하지 않음
- 추가 완료 후 데이터는 DB에 그대로 남아있지만, is_deleted가 TRUE로 바뀜
- 프론트엔드에서는 WHERE is_deleted = FALSE인 것만 보여주면 되므로
- 사용자 눈에는 삭제된 것처럼 보임 운영자는 지워진 데이터도 확인할 수 있음
deleted_at
새롭게 알게된 내용 ✅
- "AI가 보내준 글자를 예쁜 목록으로 바꾸기"
- 상황: AI(재미나이)는 요약 결과를 줄 때 단순히 글자(- 그래픽이 좋아요)로만 줌
- 문제: 이걸 웹사이트에 그대로 뿌리면 디자인 안좋음
- 해결: 개발자가 코드를 짜서, AI가 준 글자(-)를 인식해 **웹사이트용 목록 디자인(HTML 태그)**으로 "번역"해주는 과정입니다.
Before (AI가 준 거): * 그래픽 굿
After (변환 후): <li>• 그래픽 굿</li> (화면엔 예쁜 동그라미 점으로 보임)
오늘 발생한 문제(발생 했다면) ✅