The honesty.store Kiosk is a mobile interface designed for use with honesty.store as a way to receive additional product info and receive friendly reminders to pay for products via Slack. This process is designed to be as seamless as possible by using a machine-learning model to identify what product you are holding in front of the device camera.
These instructions will help you set up the project on your local machine for development and testing purposes.
- Node.js - Used as the development environment
- Python 3 - Used for training the ML model
- Training Images - Fed into the ML model
- A device and web browser with WebGL support
First clone the repo to your local machine and navigate to the project root.
$ git clone https://github.com/bin-nuance-bat/project honesty-store-kiosk
$ cd honesty-store-kiosk
Then install dependencies with npm
$ npm install
In order to run automated unit tests within node.js you can use the npm test
command at the project root. You can also start a local development server to view the resulting app in your browser.
$ npm start
In order to deploy the app for production you will want to create a compiled build.
$ npm run build
This will generate a production build in the build/
directory. Simply deploy everything in this directory to a web server (for example, we use Google Firebase hosting) and access /index.html
to use the app.
The README for configuring Firebase can be found Here
- honesty.store - The original app that our project aims to extend
- TensorFlow - Open source machine learning framework for training ML models
- TensorFlow.js - Used to deploy the ML models in the browser
- Google Firebase - App hosting provider used for deployment
- Travis CI - For automated integration, testing and deployment
- React - Javascript library for building the UI
- Enzyme - Javascript library for testing the UI
- Redux - Javascript library to manage the app's state
- Prettier - Used to format the javascript all pretty
- Will Caine - @cainy393
- Isaac Lapworth - @isaac-lapworth
- Gurveer Arora - @HelloUniverseNo31415
Also see the project contributors for a full list of participants in this project.
This project is licensed under the MIT License - see LICENSE.md for more details.
- Paul Hands - Project Management
- Chris Price - Creator of honesty.store
- Craig Ayre - Tech Support
- Emma Clennett - Tech Support