ppt파일 : 영화사이트 프로젝트ppt - 0516
ppt폰트파일 : kopub
제작기간 : 2022.04.17~2022.05.15(1달)
제작인원 : 3명
사용프레임워크 : Spring v4.2
DB : MySQL
외부 DB(TMDb) api를 연동하여 영화 정보 제공
- 헤더 : 검색기능, 로그인
- 페이지 크기에 따른 폰트 및 엘리먼트 리사이징 plain js로 구현
- 슬라이드 구현 : 레이지 로딩 적용
- 모든 영화 포스터 : DB테이블을 연동한 좋아요와 찜기능
- 게시글 : 추천수가 10 이상인 리뷰와 자유게시글 표시
- 헤더에서 영화를 검색했을 때 오는 페이지
- 검색한 쿼리와 관련된 영화 20개씩 제공
- 페이징, 좋아요, 찜기능 구현
- 클릭시 영화 디테일로 이동
- 관련영화 링크 제공
- 외부링크의 평점과 본 사이트의 평점 제공(참여자가 3명 이상일 경우에)
- 한줄평과 관련된 리뷰 표시
- 긴 리뷰를 작성하기 귀찮은 사용자들을 위한 기능
- CRUD, 좋아요, 싫어요 기능 RESTful하게 구현
- 영화제목 검색 시, 영화를 찾을 수 있도록 모달창을 제공
- 페이징, 검색 기능 구현
- 리뷰와 자유글을 분리한 각각의 게시판
- 제목 및 내용, 작성자, 태그 3가지 받식의 검색
- 게시글과 댓글에 좋아요 기능을 포함
- RESTful하게 댓글 및 대댓글 기능 구현
- 댓글의 계층과 페이징 기능
-통상적으로 댓글 0단계는 최신순으로, 댓글 1단계 이후로는 따라 읽어나가기 쉽도록 그 반대로 정렬되는 경우가 많다는 점에 착안. Serial Varchar field를 내림차순 정렬하여 결과 반환.
-level 1의 댓글의 경우 Serial은 auto increment와 같음
-level 2이상의 대댓글을 달 경우, 타겟에 다른 대댓글이 없다면 serial에 0001을 달고 다른 대댓글이 있다면 serial의 최댓값에 1을 더함.
-하지만 대댓글이 최대 1만개로 제한된다는 문제점이 있는데 이렇게 작성한 이유는 몇 단계에 걸치는 재귀쿼리가 비효율적이라고 생각하며, 댓글을 작성하는 것보다 보는 것이 훨씬 더 많이 일어나는 일이므로 작성할 때 create시 serial을 연산하는 것이 select시 재귀쿼리를 연산하는 것보다 훨씬 효율적이라고 생각했기 때문.
-댓글의 최대 계층은 serial의 최대 길이를 몇자로 제한했느냐에만 영향을 받음(이 프로젝트에서는 6단계).
- 내가 작성한 또는 좋아한 리뷰, 게시글, 댓글, 한줄평, 영화 등 모든 정보 확인 가능
- 댓글과 한줄평은 링크 연결시 포커싱 기능
- 회원정보 수정과 탈퇴 기능 구현