Webpack + TypeScript + Redux
- 지갑의 코인은 [50, 100, 500, 1000]단위로 사용할 수 있다.
- 음료는 [이름 / 재고 / 가격] 정보를 가지고 있다.
- 지갑의 코인을 드랜그하여 투입구에 드롭하면 자판기에 표시된 금액이 증가한다.
- 반환 레버를 클릭하면 자판기에 들어간 모든 코인은 반환구에 쌓이고 사용할 수 없는 코인이 된다.
- 동전 반환구를 클릭하면 쌓여있던 코인은 모두 지갑으로 되돌아 간다.
- 자판기의 금액을 초과하지 않는 금액의 음료만 선택할 수 있다.
- 재고가 없는 음료는 품절 처리되고 선택할 수 없다.
- 선택한 음료는 문을 클릭하기 전까지는 기계안에 있고, 문을 클릭하면 선택했던 음료를 모두 인벤토리에 담을 수 있다.