Skip to content

The frontend of the FooBar kiosk and inventory system.

License

Notifications You must be signed in to change notification settings

uppsaladatavetare/foobar-kiosk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1263d12 · Jan 11, 2021

History

75 Commits
Aug 5, 2017
Apr 26, 2017
Apr 26, 2017
Aug 6, 2017
Aug 25, 2016
Aug 6, 2017
Apr 26, 2017
Aug 27, 2016
Aug 6, 2017
Nov 12, 2015
Jan 11, 2021
Aug 6, 2017
Aug 6, 2017
Aug 6, 2017
Aug 5, 2017

Repository files navigation

foobar-kiosk

This repository contains the frontend for the FooBar kiosk and inventory system.

kiosk.mp4

(click on the image for a high quality video)

Our setup

  • 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)

Setting up a new kiosk

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

Frontend

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