Post

자바(Java) Swing UI + 네트워크 소켓으로 만든 학식(학생식당) KIOSK (유사 프로그램)

자바(Java) Swing UI + 네트워크 소켓으로 만든 학식(학생식당) KIOSK (유사 프로그램)

깃허브 

https://github.com/ayaysir/pseudo-kiosk-haksik

 

제작 연도

2018

 

사용기술

Java(Swing UI + 네트워크 소켓), CSV

 

제작 목적

프로그래밍 학습과 더불어, POS 및 KIOSK 원리 파악의 목적을 위해 제작하였습니다.

 

프로젝트 구조

클라이언트 : 고객(KIOSK 기계)
클라이언트 : 고객(KIOSK 기계)

 

kiosk.properties 예제
kiosk.properties 예제

 

클라이언트 : 주방
클라이언트 : 주방

 

서버 : 영양사실
서버 : 영양사실

 

주요 특징 및 스크린샷

  • 학식(학생식당)에서 사용할 수 있는 KIOSK 머신용 프로그램과 주방 프로그램, 관리 서버로 구성됨
  • Swing UI와 네트워크 소켓을 사용하여 제작
  • 인터페이스 구현 방식 채택 - 메소드 기능 오버라이딩 가능
  • 스레드의 동기화(synchronized) 적용으로 잘못된 주문 방지
  • 여러 대의 키오스크 설치 가능
  • 서버가 설치된 사무실(영양사실)에서 메뉴 관리 및 정산
  • 자주 나오는 메뉴 세트를 CSV로 저장 및 불러오기 기능
  • 주방에서 주문 메뉴 확인 가능
  • 주방 구역(분식구역, 한식구역, 양식구역 등) 설정 기능
  • 식권 출력(발매) 기능
  • 거스름돈 기능
  • 메뉴 수량(재고) 관리 기능
  • 메뉴 홍보 기능

 

키오스크 화면 - 메뉴 주문, 합계 표시, 메뉴 홍보
키오스크 화면 - 메뉴 주문, 합계 표시, 메뉴 홍보

 

식권 발매 성공 화면
식권 발매 성공 화면

 

가상 현금결제 상황 구현 - 기계와 연동한 경우 실제 현금결제 가능
가상 현금결제 상황 구현 - 기계와 연동한 경우 실제 현금결제 가능

 

거스름돈 제공 알고리즘 구현
거스름돈 제공 알고리즘 구현

 

식권 발매 - 프린터가 연결된 경우 실제 출력 가능
식권 발매 - 프린터가 연결된 경우 실제 출력 가능

 

수량 제한 기능, 재고 알림 기능
수량 제한 기능, 재고 알림 기능

 

결제가 완료된 경우 키오스크 화면 초기화 및 재고상황 반영
결제가 완료된 경우 키오스크 화면 초기화 및 재고상황 반영

 

주방 관리 프로그램 - 남은 수량 및 진행상황 반영 기능
주방 관리 프로그램 - 남은 수량 및 진행상황 반영 기능

 

요일별 메뉴 (CSV) 파일 불러오기
요일별 메뉴 (CSV) 파일 불러오기

 

수량 관리 기능 및 판매 통계, 정산 기능
수량 관리 기능 및 판매 통계, 정산 기능

 

메뉴 CSV 파일
메뉴 CSV 파일

This post is licensed under CC BY 4.0 by the author.