영화관 키오스크 회의 건의 (키오스크 : 무인판매기)
[순서]
* 전체적인 흐름 생각
1. 의견 제시 / 해당 기능에 대한 나의 생각
2. 실제로 이런 기능을 구현한 것이 있는지 구글링
3. 사례가 있다면 첨부
4. 내가 생각하는 중요도 순서
5. 질문받기 & 피드백
* 전체적인 흐름 생각
구글링도 해보고 cgv 아르바이트했던 친구들한테도 조언을 구해봤는데,
지원하는 서비스도 지점마다 달라서 그런지 키오스크의 종류도 꽤 다양했다
아래는 용산cgv사진인데 예시로 가져왔다
키오스크가 대부분 영화관련 키오스크 / 매점 전용 키오스크 크게는 2가지로 나뉘었고
시간적 여유가 있게 된다면, 두개를 합친 키오스크를 만들면 되지 않을까 생각했다.
<사용자 측면 메인화면>
1. 티켓구매 (현장 발권) : 영화 선택 - 인원 선택 - 좌석 선택 - 결제방법 선택 - 결제
2. 예매티켓 (예매 발권) : 예약번호 입력 or 핸드폰 번호 입력 - 예매정보 확인 - 티켓 출력
3. 먹거리 코너 : 식품 선택 - 결제
4. (추가한다면) 주차 인증 || 티켓 환불
<관리자 측면 메인화면>
* 사이드바 => 관리자 로그인
1. 매출 현황 : 월/일 별 매출 현황(달력 모양) - 더 추가하면 날짜 클릭 시 해당일 매출 상세정보
2. 매점 페이지 : 먹거리 수정 , 남은 재고 확인 , 세트 수정 등등
3. 관리자 페이지에서는 대부분 디비 수정하거나 전체적인 조회 측면에서 구현하면 될 것 같다
[의견 제시 / 해당 의견에 대한 나의 생각]
모달이 사용 가능한가?
기능을 고른 이유 : 페이지를 크게 4가지로 나누었을 때, 매출관리 페이지에서 해당 날짜를 클릭하면 그날의 데이터들을 가져올 수 있게 만들 때, 또 한 번의 페이지 이동보다는 기존 페이지보다 작게 모달 창의 띄워서 정보를 볼 수 있게 만들면 좋을 것 같아서 기능 선정
modal : 자신이 종료될 때까지 프로세스의 진행을 잠시 멈추는 작은 창
사용하는 곳 : 매출 상세정보, 먹거리 상세정보, 예약정보 확인 등
사이드바 (navigate) 사용 가능한가?
기능을 고른 이유 : 키오스크 상단에 들어가면 페이지 이동면에서 보다 편리할 것 같아서 기능 선정
사용하는 곳 : 키오스크 상단 이름 클릭하면 메인으로 이동, 각 메뉴 클릭하면 해당 페이지로 이동 등
먹거리의 보유 수량 체크해서 설정한 값보다 재고가 적은 경우 색깔 다르게 하는 기능
기능을 고른 이유 : 재고가 다 떨어져 가는 식품 보유 수량의 색깔을 다르게 표시하여 재고가 곧 소진되는 것을 알림으로써 사용자에게 편리함을 줄 수 있는 것 같아서 기능 선정
사용하는 곳 : 관리자 - 먹거리 코너 - 제품 상세페이지
관리자와 사용자를 나눈다 / 로그인 기능
기능을 고른 이유 : 기존에는 로그인이 필요 없는 사용자 화면으로만 구성하고, 키오스크 상단에 관리자 로그인을 만들어서 관리자로 로그인하면 기존 화면과는 다른 <매출 || 식품 현황 등 관리자만 수정할 수 있는 페이지 구성>
사용하는 곳 : 메인/관리자 로그인 or 메인/< 현장 발권 || 예매 발권 || 먹거리 코너 >
회원가입 기능과 로그인 기능에 대한 설명은 아래에 첨부하였다
주차 인증
기능을 고른 이유 : 구글링 결과 cgv에 주차 인증하는 키오스크도 있어서 굳이 안 넣어도 되는 기능이지만, 나중에 시간 되면 구현해보고 싶어서 고름
사용하는 곳 : 메인 페이지 / 주차 인증 코너
구현하기 위해서는 주차 DB가 따로 있어야 할 것 같고, 주차장을 보여주는 (영화관 좌석 예매와 동일하게) 그림이 있어서
사용자 본인이 주차한 구역을 입력하고, 영화 본 예매번호를 입력하면 사용자의 주차 칼럼을 0원으로 환산?
이러기 위해선, 영화 예매했을 시에 주차 관련해서 미리 조사를 해서 DB의 주차 칼럼에 미리 넣어놔야 할 것 같다
주차장 이용 안 할 시에는 null값
환불 기능
기능을 고른 이유 : 잘못 예약하거나 잘못 주문하였을 시 환불할 수 있게 하기 위해 고름
사용하는 곳 : 메인 페이지 환불 기능 버튼을 통한 기능 구현 (예약번호 입력받고 결제수단이 같아야 하는데 이 부분에 대해서는 어려운 것 같다..)
직접적으로 카드를 넣어 결제할 수 있는 기능 구현은 어렵기 때문에,
카드정보를 담는 DB를 따로 만들어서, 환불기능을 요청했을 때 해당 카드정보와 일치하면
rollback 시키는 방법으로 구현하면 어떨까 생각을 한다
하지만, 사용자가 환불을 언제 할지는 알 수 없기 때문에
savepoint를 이용하더라도 롤백을 쓰기는 어려울 것 같고,
PK, FK를 이용하여 해당 카드정보가 DB에서 삭제되면 CASCADE 방식으로 예매 DB에서도 삭제하는 느낌으로 구현하면 될 것 같다
좌석 변경 기능
기능을 고른 이유 : 만약 환불기능이 어렵다면 좌석변경은 가능할 것 같다/ 키오스크 검색하다가 괜찮은 기능 같아서 추가
사용하는 곳 : 메인 페이지 - 좌석변경
사용자가 좌석변경 버튼을 클릭 시 - 예매번호 입력 - 영화관 좌석 보여주기 - 이동하고 싶은 좌석 클릭
UPDATE기능을 이용해서 구현하면 될 것 같은데 아직은 자세한 설명 불가..
Javascrpit 사용 ( 웹에서만 가능한가? )
페이지의 동적 움직임들을 자바스크립트를 사용하여 구현할 수 있다
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=p952973&logNo=220981603377
스프링(Spring)에서 자바스크립트(JavaScript) 사용 방법
스프링에서 css, js, image 등의 자원은 파일이 존재하는 url 그 자체로 사용된다. 따라서 url 요청을 해야...
m.blog.naver.com
Redirect / Alert
[로그인/회원가입 성공 시 관리자 화면 redirect] or [예매/먹기리 주문 시 = 홈 화면으로 redirect] 등등
사용자가 어떠한 행동을 취하고 그 행동이 끝났을 때를 가정하면,
다시 다른 사용자가 이용할 수 있게 메인화면으로 redirect기능이 필요하고
<예매 완료되었습니다> or <결제 완료되었습니다> or <로그인 성공!> 등 간단한 alert를 띄우기
https://m.blog.naver.com/k4584587/221053476888
Spring 컨트롤러 redirect 전에 alert 창 띄우기
스프링 컨트롤러에서 alert 창 띄울 때 이런 식으로 쓰고 있었다. 하지만 이 소스는 다른 컨트롤러 메서드에...
m.blog.naver.com
* 영화 포스터를 반응형 슬라이드로 만들고 싶었는데, 자바스크립트 아니면 jquery를 써야 한다
<구글링 결과 / 사례 첨부>
1. 모달 사용 가능
https://docs.oracle.com/javase/tutorial/uiswing/misc/modality.html (참조)
How to Use Modality in Dialogs (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Other Swing Features)
Home Page > Creating a GUI With JFC/Swing > Using Other Swing Features « Previous • Trail • Next » The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer av...
docs.oracle.com
2. Swing navigation bar
https://m.blog.naver.com/rain483/220736445264 (참조)
SWING 메뉴 구성, 메뉴 만들기, 메뉴 아이템에 Action 이벤트 달기
메뉴 만들기에 필요한 스윙 컴포넌트 - 메뉴 아이템 : JMenuItem - 메뉴 : JMenu = 여러 개의 메뉴 아...
m.blog.naver.com
3. login code
https://jamesyleather.tistory.com/61?category=826361
[Java] 간단한 로그인 프로그램 만들어보기
상속과 오버 라이딩을 사용하여 간단한 로그인 프로그램을 만들어보자 클래스 이름들을 정의하면 MemberInfo : 한 명의 회원정보를 저장하기 위한 클래스이다. 기본정보로는 아이디(uid), 비밀번호(pwd), 이름(name..
jamesyleather.tistory.com
4. 텍스트 색상 변경
<내가 판단한 중요도 순서 - 기본적인 결제/예매/매출 다 제외>
1. 관리자 / 사용자 나누는 것
2. 사이드바 이용
3. 모달 이용
4. 환불 기능
5. 좌석 변경 (4,5번 중 하나라도 구현해야 할 것 같다)
[시간적 여유 있을 때]
1. 매점에서 보유 수량 적을 때 or 영화 남은 자석 수 가 지정해놓은 값보다 적을 때 componet 색깔 다르게 하기
(ex: 영화남은 좌석수 5개 미만일 때 빨간색으로 표시?)
2. 주차 인증 (예약번호 누르고 차량 뒷번호 누르면 주차비 0으로 UPDATE?)
'Project > TeamProject' 카테고리의 다른 글
[팀플 - movie_kiosk] 2nd course (0) | 2021.08.04 |
---|---|
[팀플 - movie_kiosk] 1st course (0) | 2021.08.04 |
[팀플 - movie_kiosk] DB 설계 (0) | 2021.08.04 |
POS 프로젝트 건의 내용 정리 (0) | 2021.08.04 |
POS 프로젝트 설계 (0) | 2021.08.04 |