Overview of the project

To have a general idea about the project you can view the slides of the presentation.

The system is a prototype of a self-checkout cash register for a generic supermarket. The system enables users to identify themselves and scan the products they bought.

Client side (board)

The client side is made with the FEZ Spider II connected to some peripherals. It is the device that allows user to interact with the system, scanning the codes and using the GUI on the touchscreen.

For taking better pictures we made a "black box" around the camera, that internally contains some LED lights and has a small window on the top that can be used to expose the barcodes / QRcodes.

The role of the client side is to send images to the server, display information on the screen and interact with the buyer, allowing the creation of receipts.

See what's inside the black box.

Server side

The server receives images from the client and performs a lookup in the database, returning informations about the user and about the products.

It has a basic GUI for logging and to see the pictures sent from the client.


The database is responsible for keeping persistence of the data: it contains the data about the products, the users, the receipts and has some other tables that allow reordering products from the warehouse when the shelves are nearly empty


The website is a useful tool to let the user see their purchase history and the collected points, and allow the administrator to see purchases and to manage the inventory.

Our roles

Sorath Asnani
Database and website development
Giuseppe Carella
Board application development
Martino Mensio
Server side development

Source code

The full project source code is available in this repository