Skip to content

Latest commit

 

History

History
172 lines (148 loc) · 10.5 KB

README.md

File metadata and controls

172 lines (148 loc) · 10.5 KB

MOVIER - 영화와 마음이 머무는 공간

숙명여자대학교 소프트웨어학부 데이터베이스프로그래밍 팀프로젝트 🎥 MOVIER 🎥 레포 (2024.05 ~ 2024.06 🛠)

🔑 Key Feature

소셜 로그인 메인 페이지
메인 페이지(검색) 영화 상세보기(영화 정보)
영화 상세보기(예외) 영화 상세보기(리뷰 요청)
영화 상세보기(리뷰 리스트, 공감하기) 마이페이지
리뷰 상세보기 리뷰 상세보기(예외)
리뷰 작성 리뷰 수정
리뷰 작성 & 수정 (예외) 리뷰 작성 & 수정 (예외2)

😊 역할분담 & 팀원 소개

담당자 담당 내용
권정 (@kj9470) - [뷰] 메인 페이지 뷰 구현: movieMain.jsp
- [뷰] 네비게이션 바 이동 기능 구현: navTabBar.jsp
- [기능] 전체 영화 리스트 조회 기능 구현: movieLists.jsp, MovieList.java, get_movie_list.sql, MovieDAO - getMovieList()
- [기능] 검색 기능 구현: searchMovieLists.jsp, get_search_movie_list.sql, MovieDAO - getSearchMovies()
- [기능] 유저 정보 조회: navTabBar.jsp
- [기능] 로그아웃: navTabBar.jsp, LogoutServlet.java
김성은 (@sung-silver) - [뷰] Movier 소셜 로그인 뷰 구현: socialLogin.jsp
- [뷰] 영화 상세보기 뷰 구현: movieDetail.jsp, filterReviews.jsp, reviewComponent.jsp, reviewRequest.jsp, reviewList.jsp
- [기능] 카카오 소셜 로그인 기능 구현: SocialLoginServlet.java, MemberDAO - getMemberIdBySocialPlatformId(), MemberDAO - insertMember(), get_member_id_by_kakao_platform_id.sql, insert_member.sql
- [기능] 영화 정보(포스터, 이름, 개봉년도, 평점, 리뷰 개수 등) 조회 구현: MovieDAO - getMovieById()
- [기능] 사용자에게 리뷰를 요청하는 기능 구현: MemberDAO - getMemberNameById()
- [기능] 정렬(별점순, 최신순, 별점 필터)된 영화별 리뷰(작성자, 내용, 별점, 공감 개수) 리스트 조회 구현: ReviewDAO - getSortedReviewsByMovieId(), SympathyDAO - getSympathyCount(), get_latest_review_by_movie_id.sql, get_rating_review_by_movie_id.sql, ToggleSympathyServlet.java
- [기능] 리뷰 공감 기능 구현: SympathyDAO - addSympathy()
- [기능] 리뷰 공감 취소 구현: SympathyDAO - removeSympathy()
- [기능] 리뷰 공감 여부 조회 구현: SympathyDAO - isSympathyExist(), check_sympathy.sql, create_sympathy_count_view.sql
- [기능] 리뷰 작성/수정/삭제 시 영화 테이블 업데이트 트리거: 내부 호출 함수 구현 - get_movie_review_info.sql
김윤지 (@jelliijoa) - [뷰] 마이페이지 뷰 구현: myPage.jsp
- [뷰] 마이페이지 리뷰 상세보기 뷰 구현: myReview.jsp
- [뷰] 리뷰 CRUD 시 공통 영화 조회 뷰 구현: DetailsComponent.jsp
- [기능] 마이페이지 로그인 된 유저 정보 조회 기능 구현 (프로필 사진, 닉네임, 작성한 리뷰 개수): MemberDAO - getMemberById(), ReviewDAO - getReviewCountByMemberId()
- [기능] 유저가 작성한 모든 리뷰 리스트 조회 기능 구현 (영화 포스터, 제목, 별점, 리뷰 내용, 리뷰 작성일): Review.java, MyPageReview.java, ReviewDAO - getMyPageReviewsByMemberId(), get_reviews_by_reviewer_id.sql
- [기능] 유저가 작성한 리뷰 상세 조회 기능 구현 (리뷰 별점, 리뷰 내용, 영화 썸네일): ReviewDetail.java, ReviewDAO - getReviewDetailsByMemberId(), get_review_details_by_reviewer_id.sql
- [기능] 리뷰 생성, 조회, 수정, 삭제 시 공통 영화 정보 조회 기능 구현 (영화 제목, 포스터, 장르, 개봉일, 상영시간): MovieDAO - getMovieInfoByMovieId(), get_movie_info_by_movie_id.sql
- [기능] 리뷰 삭제 기능 구현: ReviewDAO - deleteReviewById()
김채연 (@kcy24) - [뷰] 리뷰 작성 뷰 구현: writeReview.jsp
- [뷰] 리뷰 수정 뷰 구현: editReview.jsp
- [뷰] 리뷰 조회 뷰 구현: myReview.jsp
- [뷰] 리뷰 CRUD 시 공통 영화 조회 뷰 구현: DetailsComponent.jsp
- [기능] 별점 입력 기능 구현: starRating.jsp
- [기능] 리뷰 작성 기능 구현 (별점과 리뷰 내용 입력): insert_review.sql, WriteReviewServlet.java, ReviewDAO.java - insertReview()
- [기능] 리뷰 수정 기능 구현 (별점과 리뷰 내용 수정): update_review.sql, EditReviewServlet.java, ReviewDAO.java - updateReview()
- [기능] 리뷰 작성/수정/삭제 시 영화 테이블 업데이트 트리거 구현: create_trg_review_changes.sql

🛠 기술 스택

005


📁 Folder 구조

📦 Movier
└─ src
   └─ main
      ├─ java
      │  └─ cs
      │     └─ sookmyung
      │        └─ movier
      │           ├─ EditReviewServlet.java
      │           ├─ LogoutServlet.java
      │           ├─ SocialLoginServlet.java
      │           ├─ ToggleSympathyServlet.java
      │           ├─ WriteReviewServlet.java
      │           ├─ config
      │           │  └─ ConfigLoader.java
      │           ├─ dao
      │           │  ├─ MemberDAO.java
      │           │  ├─ MovieDAO.java
      │           │  ├─ ReviewDAO.java
      │           │  └─ SympathyDAO.java
      │           └─ model
      │              ├─ Member.java
      │              ├─ Movie.java
      │              ├─ MovieList.java
      │              ├─ MovieReview.java
      │              ├─ MyPageReview.java
      │              ├─ Review.java
      │              └─ ReviewDetail.java
      ├─ resources
      │  └─ sql
      │     ├─ check_sympathy.sql
      │     ├─ create_member.sql
      │     ├─ create_movie.sql
      │     ├─ create_review.sql
      │     ├─ create_sympathy.sql
      │     ├─ create_sympathy_count_view.sql
      │     ├─ create_trg_review_changes.sql
      │     ├─ dummy
      │     │  ├─ dummy_members.sql
      │     │  ├─ dummy_movies.sql
      │     │  ├─ dummy_reviews.sql
      │     │  └─ dummy_sympathy.sql
      │     ├─ get_latest_review_by_movie_id.sql
      │     ├─ get_member_id_by_kakao_platform_id.sql
      │     ├─ get_movie_info_by_movie_id.sql
      │     ├─ get_movie_list.sql
      │     ├─ get_movie_review_info.sql
      │     ├─ get_rating_review_by_movie_id.sql
      │     ├─ get_review_count_by_reviewer_id.sql
      │     ├─ get_review_details_by_reviewer_id.sql
      │     ├─ get_reviews_by_reviewer_id.sql
      │     ├─ get_search_movie_list.sql
      │     ├─ insert_member.sql
      │     ├─ insert_review.sql
      │     └─ update_review.sql
      └─ webapp
         ├─ WEB-INF
         │  └─ lib
         │     └─ ojdbc11.jar
         │  └─ web.xml
         ├─ css
         │  ├─ detailsComponent.css
         │  ├─ movieDetail.css
         │  ├─ movieLists.css
         │  ├─ movieMain.css
         │  ├─ myPage.css
         │  ├─ myReview.css
         │  ├─ navTabBar.css
         │  ├─ reviewComponent.css
         │  ├─ reviewList.css
         │  ├─ reviewRequest.css
         │  ├─ socialLogin.css
         │  ├─ starRating.css
         │  └─ writeReview.css
         ├─ detailsComponent.jsp
         ├─ editReview.jsp
         ├─ filterReviews.jsp
         ├─ img
         │  ├─ default_profile_img.svg
         │  ├─ icn_check.svg
         │  ├─ icn_search.svg
         │  ├─ icn_star_empty.svg
         │  ├─ icn_star_empty_set.svg
         │  ├─ icn_star_full.svg
         │  ├─ icn_star_full_set.svg
         │  ├─ kakao_logo.svg
         │  ├─ movie_poster_dummy.svg
         │  ├─ movier_logo.svg
         │  ├─ movier_white_logo.svg
         │  └─ profile.svg
         ├─ movieDetail.jsp
         ├─ movieLists.jsp
         ├─ movieMain.jsp
         ├─ myPage.jsp
         ├─ myReview.jsp
         ├─ navTabBar.jsp
         ├─ reviewComponent.jsp
         ├─ reviewList.jsp
         ├─ reviewRequest.jsp
         ├─ searchMovieLists.jsp
         ├─ socialLogin.jsp
         ├─ starRating.jsp
         └─ writeReview.jsp

💽 Database ERD

image