Skip to content

hyemdooly/android-movie-theater

 
 

Repository files navigation

android-movie-theater

domain

Movie

  • 제목, 상영기간, 러닝타임, 이미지를 알아야 한다.
  • MovieDetail을 소유해야 한다.

MovieDetail

  • 영화의 줄거리를 알아야 한다.

Reservation

  • 영화, 예약된 좌석, 선택한 날짜와 시간, 예매 금액을 알아야 한다.
  • 최소, 최대 예매 인원 수를 알아야 한다.

ReservationAgency

  • 영화, 인원 수, 선택된 날짜와 시간을 알아야 한다.
  • 예매 가능한지 판단한다.
  • 예매한다. (Reservation을 생성한다.)
  • 할인 정책이 적용된 총 금액을 계산한다.

DiscountPolicy

  • 할인 조건을 가져야 한다.
  • 할인 조건을 만족한다면 특정 금액의 할인 가격을 반환할 수 있다.

MovieDayDiscountPolicy

  • 할인 조건을 만족하면 10% 할인한다.
  • 10, 20, 30일에 할인 조건을 만족한다는 할인 조건을 가지고 있다.

ScreeningTimeDiscountPolicy

  • 할인 조건을 만족하면 2000원 할인한다.
  • 조조, 야간 할인 조건을 가지고 있다.

DiscountCondition

  • 영화 예매에 대해 할인할 수 있는지 판단할 수 있다.

DayDiscountCondition

  • 상영 날짜로 할인할 수 있는지 판단한다.

ScreeningTimeDiscountCondition

  • 상영 시간으로 할인할 수 있는지 판단한다.

Seat

  • 좌석의 행과 열을 알아야 한다.
  • 행은 14, 열은 15를 만족한다.
  • 좌석에 해당하는 금액을 구한다.

SeatType

  • 좌석타입에 해당하는 금액을 가지고 있다.

View

MovieListActivity

  • 모든 영화의 제목, 상영 기간, 러닝타임, 이미지를 보여준다.
  • 영화마다 예매할 수 있는 버튼이 존재한다.

ReservationActivity

  • 영화의 이미지, 제목, 상영 기간, 상영 시간, 러닝타임, 상세정보를 보여준다.
  • 상영 기간과 상영 시간은 스피너로 선택할 수 있다.
  • 예매 인원을 조절할 수 있는 버튼이 존재한다.
  • 클릭하면 예매 정보를 보여주는 화면을 띄우는 예매 완료 버튼이 존재한다.

ReservationCompletedActivity

  • 영화 제목, 상영일, 상영 시간, 예매 인원, 예매 금액을 보여준다.

Repository

MovieRepository

  • 영화 데이터들을 조회할 수 있다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%