미니 프로젝트 - 영화 사이트 시스템

이동명·2023년 6월 10일
0

현재까지의 진도 java 기초개념 ~ jdbc 까지 진행 되었다.

현재까지 배운 점에 대해 조원들끼리 미니 프로젝트를 진행하기로 하였다.

목표는 MVC 패턴을 맞춰서 일대일 관계를 제외한 관계들을 설계하고, 직접 조인도 해보고, JDBC를 이용해 DML 을 모두 구현 해보는 것 이다.

많은 회의를 진행하고 난 후 우리조는..

영화 사이트 시스템과 그걸 이용하는 고객 을 간단하게 만들어보기로 하였음.

ERD DB설계 링크

1:N 관계:

  • 영화 (Movies) 테이블과 리뷰(Review) 테이블: 하나의 영화는 여러 개의 리뷰를 가질 수 있지만, 한 리뷰는 하나의 영화에 대해 연결될 수 있습니다.

  • 사용자 (User) 테이블과 리뷰(Review) 테이블: 하나의 유저는 여러 개의 리뷰를 가질 수 있지만, 한 리뷰는 하나의 유저에 대해 연결될 수 있습니다.

  • 영화 (Movies) 테이블과 상영일정 (Screenings) 테이블: 하나의 영화는 여러 개의 상영일정을 가질 수 있지만, 한 상영일정은 하나의 영화에 대해 연결될 수 있습니다.

  • 상영관 (Theaters) 테이블과 상영일정 (Screenings) 테이블: 하나의 상영관은 여러 개의 상영일정을 가질 수 있지만, 한 상영일정은 하나의 상영관에 대해 연결될 수 있습니다.

  • 회원 (User) 테이블과 예매 정보 (Bookings) 테이블: 한 회원은 여러 개의 예매 정보를 가질 수 있지만, 한 예매 정보는 하나의 회원에 대해 연결될 수 있습니다.

  • 상영일정 (Screenings) 테이블과 예매 정보 (Bookings) 테이블: 한 상영일정은 여러 개의 예매 정보를 가질 수 있지만, 한 예매 정보는 하나의 상영일정에 대해 연결될 수 있습니다.

N:M 관계:

  • 영화 (Movies) 테이블과 배우 (Actor) 테이블: 여러 영화가 여러 배우를 가질 수 있고, 한배우가 여러 영화에 출연할 수 있습니다.

  • 영화 (Movies) 테이블과 사용자 (User) 테이블 : 여러 영화는 여러 사용자가 볼 수 있고, 한 사용자가 여러 영화를 볼 수 있습니다.

  • 영화 (Movies) 테이블과 상영관 (Theaters) 테이블: 여러 영화가 여러 상영관에서 상영될 수 있고, 한 상영관에서 여러 영화가 상영될 수 있습니다.

개발되는 기능

1. 회원가입

2. 로그인 (Admin 모드 or 일반 사용자 모드 로그인)

Admin 모드

  • 회원전체조회

  • 회원 ID 검색

  • 회원 ID 삭제

  • 리뷰삭제

  • 영화추가

  • 배우추가

  • 영화 출연진 추가


일반 사용자 모드

  • 영화 시청하기 ( 현재 상영중인 영화 )

  • 리뷰 작성

  • 내가 쓴 리뷰 보기

  • 영화 별 리뷰 보기

  • 영화 장르별 검색

  • 영화 평점순으로 보기

  • 특정 배우가 출연한 영화 보기


좋았던 점

쿼리를 간단한 것들만 짜보고 경험이 별로 없었는데 이번기회에 조인부터 시작해서 쿼리 연습이 많이 되서 좋았음

아쉬운 점

코드를 다양하게 짤 수 있는 것들을 보고 한가지 방식으로만 코드를 짠게 살짝 아쉬웠다.

개선할 점

다양한 사람들의 코드를 보며 효율적이고 더 가독성이 좋은 코드 짜는걸 연습하고 적용해보자..


미니프로젝트 src - git

profile
Web Developer

0개의 댓글