14 October 2016

Fun with Drupal 8 and RaspberryPi

I have recently been working on a project for a local charitable organisation. I am building them a user-generated content site (in Drupal 8) that will receive it's content from a hand-held scanner (running on a RaspberryPi).

The user stories are this:

  • The Consumer: Ethically minded, tech-savvy individual is about to buy a second hand book online but would prefer to pick up a copy from a local charity shop in the next 20 minutes if possible. It's Saturday and riffling through thousands of books in 7 different shops would be tedious so they're just going to order the book online and wait until Monday. If there was a quick way to do a free text search to quickly check if the charity shops on their local high street have a copy in stock they would.
  • The Retailer: Charity shop volunteer has tons of donations to process and although they know books could sell better if listed online the fact that they only charge 99 pence means it's not worth their time faffing around with input forms. If they could just scan the barcode of each book and let the system automatically log the stock for them they could probably process the entire shelf in 10 minutes.

So there we have it. A fun little project that will involved me writing a Python script to run on a RaspberryPi, utilising Drupal 8.x's built-in RESTful API to allow multiple authenticated users to log stock items which will them be processed using an ISBN library's API. The public face of the website is simply a free-text search that also takes into account users location.

The most important test to overcome will be making it so refreshingly easy to use (maybe even fun) that shop staff will actually look forward to scanning a stack of books and watching them magically appear on the site. If there is any hint of confusion or ambiguity the process will be too much bother and will simply not work.