자바(Java) Swing UI + 네트워크 소켓으로 만든 학식(학생식당) KIOSK (유사 프로그램)
깃허브
https://github.com/ayaysir/pseudo-kiosk-haksik
제작 연도
2018
사용기술
Java(Swing UI + 네트워크 소켓), CSV
제작 목적
프로그래밍 학습과 더불어, POS 및 KIOSK 원리 파악의 목적을 위해 제작하였습니다.
프로젝트 구조
[caption id=”attachment_3180” align=”alignnone” width=”255”]
클라이언트 : 고객(KIOSK 기계)[/caption]
[caption id=”attachment_3182” align=”alignnone” width=”227”]
kiosk.properties 예제[/caption]
[caption id=”attachment_3181” align=”alignnone” width=”243”]
클라이언트 : 주방[/caption]
[caption id=”attachment_3183” align=”alignnone” width=”254”]
서버 : 영양사실[/caption]
주요 특징 및 스크린샷
- 학식(학생식당)에서 사용할 수 있는 KIOSK 머신용 프로그램과 주방 프로그램, 관리 서버로 구성됨
- Swing UI와 네트워크 소켓을 사용하여 제작
- 인터페이스 구현 방식 채택 - 메소드 기능 오버라이딩 가능
- 스레드의 동기화(synchronized) 적용으로 잘못된 주문 방지
- 여러 대의 키오스크 설치 가능
- 서버가 설치된 사무실(영양사실)에서 메뉴 관리 및 정산
- 자주 나오는 메뉴 세트를 CSV로 저장 및 불러오기 기능
- 주방에서 주문 메뉴 확인 가능
- 주방 구역(분식구역, 한식구역, 양식구역 등) 설정 기능
- 식권 출력(발매) 기능
- 거스름돈 기능
- 메뉴 수량(재고) 관리 기능
- 메뉴 홍보 기능
[caption id=”attachment_3168” align=”alignnone” width=”800”]
키오스크 화면 - 메뉴 주문, 합계 표시, 메뉴 홍보[/caption]
[caption id=”attachment_3169” align=”alignnone” width=”798”]
식권 발매 성공 화면[/caption]
[caption id=”attachment_3170” align=”alignnone” width=”797”]
가상 현금결제 상황 구현 - 기계와 연동한 경우 실제 현금결제 가능[/caption]
[caption id=”attachment_3171” align=”alignnone” width=”328”]
거스름돈 제공 알고리즘 구현[/caption]
[caption id=”attachment_3172” align=”alignnone” width=”1026”]
식권 발매 - 프린터가 연결된 경우 실제 출력 가능[/caption]
[caption id=”attachment_3174” align=”alignnone” width=”278”]
수량 제한 기능, 재고 알림 기능[/caption]
[caption id=”attachment_3175” align=”alignnone” width=”800”]
결제가 완료된 경우 키오스크 화면 초기화 및 재고상황 반영[/caption]
[caption id=”attachment_3176” align=”alignnone” width=”800”]
주방 관리 프로그램 - 남은 수량 및 진행상황 반영 기능[/caption]
[caption id=”attachment_3177” align=”alignnone” width=”664”]
요일별 메뉴 (CSV) 파일 불러오기[/caption]
[caption id=”attachment_3178” align=”alignnone” width=”800”]
수량 관리 기능 및 판매 통계, 정산 기능[/caption]
[caption id=”attachment_3179” align=”alignnone” width=”450”]
메뉴 CSV 파일[/caption]
