[S.A] Django Project

nikevapormax·2022년 6월 2일
0

s.a

목록 보기
3/5
post-thumbnail

(Notion) Django Project

👻 프로젝트 주제

  • 영화 추천 시스템
    • 사용자가 작성한 영화 리뷰를 토대로 영화 추천

👻 필수 구현 기술

  • CRUD(Create, Read, Update, Delete)
  • Django
  • 추천 시스템
  • (추가) AWS 배포

👻 필수 포함 사항

😇 필수 기능

  • Django 사용
    • 회원 기능 포함 (django의 auth_userUserModel 합쳐서 사용할 예정)
  • 하나의 레포지토리에서 기능별 혹은 개인별 브랜치를 사용
  • CRUD 기능
  • 장고의 모델에서 one-to-manymany-to-many 기능 사용
  • 추천시스템(협업필터링) 활용

😇 추가 기능

  • 사람들에게 평점이 좋은 영화 보여주기
  • 영화 찜하기 기능
  • 마이페이지에서 프로필 수정 기능 / 작성한 글 목록 / 찜한 영화 목록 기능
  • 리뷰 작성 페이지
  • 영화 or 리뷰 검색 페이지

👻 MOCKUP 및 DB 작성

😇 MOCKUP

  • 로그인 및 회원가입 페이지
  • 메인 페이지
  • 리뷰 포스팅 페이지

  • 마이 페이지

😇 ERD 작성

  • movie와 tag 테이블은 many-to-many 관계 표현
user {
	"user_id(pk)" : "Primary Key",
	"username" : "사용자 이름",
	"password" : "비밀번호"
}

post {
	"post_id(pk)" : "Primary Key",
	"user_id(fk)" : "Foreign Key",
	"movie_id(fk)" : "Foreign Key",
	"comment" : "리뷰 내용",
	"my_score" : "평점",
	"time" : "작성 시간"
}

movie {
	"movie_id(pk)" : "Primary Key",
	"tag_id(fk)" : "Foreign Key",
	"title" : "제목",
	"image" : "포스터 이미지",
	"score" : "평균 평점",
	"desc" : "영화 개요"
}

tag {
	"tag_id(pk)" : "Primary Key",
	"movie_id(fk)" : "Foreign Key",
    "tagname" : "장르 이름",
}

👻 컨벤션

😇 GitHub

  • 브랜치 (app 별로 )
    • user
    • post
    • movie
  • 커밋 메세지
    • 사용하지 않는 커밋 메세지 삭제
Commit Type
- Feat : 새로운 기능 추가/수정/삭제
- Fix : 버그 수정
- Docs : 문서 수정
- Design : CSS 등 사용자 UI 디자인 변경
- Style: 코드에 영향을 주지 않는 변경사항 /  코드 포맷 변경, 새미 콜론 누락, 코드 수정이 없는 경우
- Refactor: 코드 리팩토링
- Test: 테스트 코드/기능 추가
- Rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
- Remove : 파일을 삭제하는 작업만 수행한 경우

Subject
- 50자를 넘기지 않고, 커밋 타입을 준수함.

 Body
- 72자를 넘기지 않고, 모든 커밋에 본문 내용을 작성할 필요는 없음.

👻 기능 명세서

😇 홈 페이지

  • 학습된 머신러닝 모델을 통해 평점이 높은 순서대로 영화가 랜덤으로 보여집니다.
    • 상단바의 [로고][홈] [마이페이지][로그인 or 로그아웃] click으로 해당 페이지로 이동합니다.
      • 로그인(인증)상태에 따라 로그인과 로그아웃이 번갈아가며 보여집니다.
    • 영화를 누르면 해당되는 영화의 상세 페이지로 이동합니다.

😇 영화 상세 페이지

  • 상단
    • 홈 페이지에서 누른 영화의 상세 내용[ 이미지 | 제목 | 장르 | 개요 ]을 보여줍니다.
  • 중간
    • 리뷰 작성하기 버튼으로 모달창을 띄워 평점을 등록합니다.
  • 하단
    • 학습된 머신러닝 모델을 이용하여 추천 영화들을 보여줍니다.
      • 내가 작성한 리뷰에서 평점이 높은 영화들의 태그들을 모델에 적용시킵니다.
      • 로그인(인증)상태가 되어있을 때에만 보여집니다.
        미인증상태시, 추천영화는 랜덤으로 보여집니다.

😇 내 평점 등록 - 모달

  • 평점을 등록할 영화의 제목이 보여지며, 평점은 range slider로 조절합니다.
  • 로그인(인증)상태가 되어있을 때에만 보여집니다.
    • 미인증상태시, 로그인이 필요한 작업입니다 에러메세지를 보여줍니다.

😇 회원가입/로그인 페이지

  • 페이지 이름을 누르면 홈 페이지로 이동합니다.
  • 아이디와 비밀번호를 입력해 회원가입 또는 로그인을 할 수 있습니다.

😇 마이 페이지

  • 로그인(인증)상태가 되어있을 때에만 접근이 가능합니다.
  • 로그인한 사용자가 작성한 영화 리뷰 리스트가 보여집니다.
  • 영화 리뷰 리스트의 구성 요소는 영화 제목, 평점, 작성시간, 삭제 버튼 입니다.
  • 페이지별 리스트을 보여주는 것이 아닌 스크롤 방식을 택해 사용자가 작성한 리스트를 보여줍니다.
  • (추가) 리스트의 영화 제목을 누르면 상세 페이지로 이동합니다.

👻 API


👻 팀원들의 역할 및 약속

😇 팀원별 역할

  • 김경수, 정대근
    • user app + 크롤링 + 머신러닝
  • 윤슬기
    • movie app
  • 정주현
    • post app

😇 우리 팀의 약속

  • 서로의 의견을 존중해 주기
  • 프로젝트가 어렵고 힘들어도 웃기
  • 현충일 및 휴일에도 프로젝트에 시간을 최대한 할애하기
  • 함께 성장하며 서로가 서로의 멘토가 되어주기
profile
https://github.com/nikevapormax

0개의 댓글