/java-movie

영화 예매 미션을 위한 저장소

Primary LanguageJava

영화 예매

1. 기능 구현 목록

  • 상영 영화 목록 보여주는 기능

  • 예약할 영화 선택 기능

    • 예약할 영화 선택하는 입력 기능
    • 예약할 영화가 영화 목록에 없는 경우 예외 처리
    • 숫자가 아닌 경우에 예외 처리
    • 선택한 영화에 시간 및 가격 출력 기능
  • 예약할 시간표를 선택하는 기능

    • 예약할 시간표 입력 받기 ( 숫자인지 예외 처리 )
    • 이미 영화가 매진된 경우를 선택한 경우 예외 처리
    • 상영시간 차가 1시간 이내가 아닌 경우 예외 처리
  • 예약할 인원 입력 기능

    • 예약할 인원 입력 받기 ( 숫자인지 예외 처리 )
    • 인원 초가시 예외 처리
  • 예약 종료 하고 결제 진행 기능

    • 결제를 진행할지 추가 예약 할지 여부 묻는 기능
    • 결제를 진행하면
      • 예약 내역 보여주기
    • 추가 예약을 진행할 경우
      • 상영 영화 목록 부터 다시 보여 주기 기능
  • 결제 진행 화면 기능

    • 포인트 사용 금액 입력 기능 구현 ( 숫자인지 예외 처리 ) ( 포인트 제한은 없다 )
    • 포인트 음수인 경우 제외
  • 결제 수단 묻는 기능

    • 신용카드는 1번, 현금은 2번 으로 입력 받기
    • 신용카드 ( 5%, 현금 결제 2% ) 할인 적용
    • 할인률은 포인트를 제외한 금액에 적용한다.
    • 최종 결제 금액 출력하는 기능
    • 포인트가 더 많은 경우 예외 처리

2. 클래스

- Domain package
    - Movie
    - MovieRepository
    - PlaySchedule
- utils package
    - DateTimeUtils
- view package
    - InputView
    - OutputView
- MovieApplication
- Discount

3. 메쏘드