This repository contains the frontend for the FooBar kiosk and inventory system.
kiosk.mp4
(click on the image for a high quality video)
- Raspberry Pi 3 Model B (with Raspian Jessie on it)
- PCP-BCG4209 barcode scanner
- MIFARE-compatible RFID reader
- A capacitive touch screen (D-WAV Scientific Co., Ltd eGalax TouchScreen)
The entire setup and deployment process is using Ansible.
Firstly, make sure that you have SSH access to a freshly setup Raspberry Pi and add it to the inventory file.
[live]
192.168.1.100
Then provision it:
ansible-playbook playbook.yml -l live
Deployments can be done using a subset of the tasks in the playbook:
ansible-playbook playbook.yml -l live --tags deployment
The frontend is build with React, Redux and Typescript. We use Webpack to bundle the the modules to a single bundle.js
.
API host and key to the foobar-api has to be set in a file called config.js
, or by specifying a path to the file in an enviroment variable named SETTINGS
. Example config can be seen in config.example.js
.
Installs the frontend dependencies:
npm install
Builds the project in development mode and host it on a local dev-server. Webpack will listen file changes and rebuild necessary parts:
npm start
Builds the project in production mode. Will output build/build.js
:
npm run build