GithubHelp home page GithubHelp logo

spring-roomescape-payment's Introduction

기능 명세

회원

  • 회원은 관리자와 일반 사용자(이하 사용자)로 구성된다.
  • 회원은 이름을 가질 수 있으며, 이름은 서로 중복될 수 있다.
  • 회원은 이메일, 패스워드로 로그인할 수 있으며, 이메일은 중복될 수 없다.

예약

예약 추가

  • 관리자는 임의의 사용자를 지정하여 예약을 추가할 수 있다.
  • 사용자는 자신의 예약을 추가할 수 있다.
  • 로그인하지 않은 사용자(비회원)는 예약 추가 페이지에 접근할 수 없다.
  • 예약 추가 시 날짜, 시간, 테마를 지정해주어야 한다.
  • 지나간 날짜와 시간에 대한 예약 생성은 불가능하다.
  • 날짜, 시간, 테마가 중복되는 경우 예약을 추가할 수 없다.
    • 이 경우, 예약 대기를 거는 것은 가능하다.

예약 대기

  • 원하는 날짜, 시간, 테마에 대한 예약이 존재하는 경우 예약 대기를 걸 수 있다.
    • 단, 해당 예약이 본인의 예약이라면 예약 대기를 걸 수 없다.
    • 같은 예약에 대해서는 예약 대기를 두 번 이상 걸 수 없다.
  • 사용자는 자신의 예약 대기를 삭제할 수 있다.
  • 관리자는 모든 사용자의 예약 대기를 삭제할 수 있다.

예약 삭제

  • 관리자는 예약을 삭제할 수 있다.
  • 사용자는 예약을 삭제할 수 없다.

예약 조회

  • 관리자는 모든 사용자의 예약을 조회할 수 있다.
  • 사용자는 자신의 예약 목록을 조회할 수 있다. 이 때, 예약 대기 목록도 함께 조회된다.
  • 사용자는 예약 대기 번호를 확인할 수 있다.
  • 사용자는 예약을 취소할 수 없으며, 예약 대기는 취소가 가능하다.

예약 시간

  • 관리자는 예약 시간을 추가 및 삭제할 수 있다.
  • 예약 시간은 00:00부터 23:59까지 1분 단위로 추가할 수 있다.
  • 중복되는 예약 시간은 추가할 수 없다.
  • 관리자와 사용자는 모든 예약 시간을 조회할 수 있다.
  • 사용자는 관리자가 등록한 예약 시간만을 사용하여 예약할 수 있다.
  • 하나 이상의 예약에서 사용되는 예약 시간은 삭제할 수 없다.

테마

추가, 삭제, 조회

  • 관리자는 테마를 추가 및 삭제할 수 있다.
  • 관리자와 사용자는 모든 테마를 조회할 수 있다.
  • 사용자는 관리자가 등록한 테마만을 사용하여 예약할 수 있다.
  • 하나 이상의 예약에서 사용되는 테마는 삭제할 수 없다.
  • 중복된 이름의 테마는 추가할 수 없다.

인기 테마 출력

  • 인기 테마 : 최근 일주일 기준으로 하여 예약이 많은 순으로 정렬했을 떄, 상위 10개 테마
  • 메인 페이지에 접속하면, 인기 테마를 보여준다.
  • 인기 테마가 10개 이내면, 인기 테마가 아닌 테마도 화면에 표시된다.

결제

  • 사용자는 예약하기 버튼을 누르고 결제를 완료해야 예약할 수 있다.
  • 결제에 성공하면 예약이 확정된다.
  • 결제에 실패하면 결제 실패 사유를 알 수 있다.
  • 결제 정보고 마이페이지에서 확인할 수 있다.

spring-roomescape-payment's People

Contributors

kyum-q avatar woowabrie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.