1. 골프 발권 및 제어 기능 개발

    1. 키오스크, 운영툴, 앱 등에서 골프 타석기 이용을 위한 발권, 대기 등에 필요한 CRUD 기능을 개발하였습니다. 운영툴, 앱은 클라우드 서버를 거쳐 현장 애플리케이션과 통신하고, 이후 타석기 제어 업체와 통신합니다. 키오스크는 현장 애플리케이션과 직접 통신하고, 이후 타석기 업체와 통신합니다.
    2. 단지마다 타석기 연동 업체가 다르기 때문에, 단지별로 어떤 타석기 제어 업체와 연동하고 있는 지를 정책적으로 관리하고, 제어 로직을 추상화하여 업체 타입에 따라 구현체가 달라지도록 하였습니다.
    3. 업체마다 각기 연동 방식이 상이하며, TCP, UDP 통신이 필요한 경우는 Netty로, HTTP 통신은 Rest API로 구현하였습니다.
  2. 사우나 발권 및 제어 기능 개발

    1. 키오스크, 운영툴, 앱에서 사우나 서비스 발권을 받고, 이를 토대로 출입 및 락커 제어가 가능하도록 연동합니다. 특정 락커에 대해 발권 성공하면 해당 입주민 카드의 식별값이 락커의 KeyCode로 삽입됩니다. 이러한 락커 제어 업체와는 TCP 통신만 가능하여 Netty를 사용하여 연동하였습니다.
    2. 다만 비동기이기 때문에 개발과정에서 요구사항 달성을 위해 고려했던 부분이 있으며, 아무래도 디버깅이 어렵기 때문에, 로그를 적절하게 심어 디버깅 포인트를 만들기 위한 과정이 추가로 요구 됩니다.
  3. 독서실 발권 및 제어 기능 개발

    1. 사우나 비슷한 서비스 이용 방식을 가지고 있고, 업체도 동일하여 연동도 비슷하게 이루어졌다고 볼 수 있습니다. 다만 독서실 락커는 락커에 연결된 전등에 대한 제어도 가능해야 하기 때문에, ExtraKeyCode가 추가로 삽입됩니다.
    2. 마찬가지로 비동기이기 때문에 발생하는 어려움은 사우나와 같습니다.
  4. 어드민툴 2.0 스피드게이트 및 출입통제기 실제 테스트 기능 구현

  5. IOT 키오스크 설정값 관리를 위한 기능 구현

  6. IOT 기기 프로그램의 버전 정보 관리를 위한 기능 구현

  7. 이력 수동 생성 시에 N건에 대해서도 이력 생성이 가능하도록 기능 확장

  8. 이용권 강좌 연결이 가능하도록 CRUD 기능 추가 및 확장