Android app for customed QR code organization

Overview

A QR code is a machine-readable visual encoding of data. The code is a two-color array of squares, usually black on white. QR code readers are able to take an image that contains a QR code and interpret the encoded data. Figure 1 shows a black-and-white QR code that encodes the text Family photo albums and historical documents

Figure 1 : QR encoding of the text Family photo albums and historical documents

For this app, we will use QR codes to help organize and track storage containers and items. Consider someone who stores much of their belongings in boxes/containers in an attic or basement. There are two main use-cases in this scenario.

  1. Find which box contains an item.
  2. Find the items in a box

We can write an android application that has a database listing of every stored item. Associated with every item is the container and associated with every container is set of tags that are associated with the container. Also, the application allows the user to print a sticker displaying a QR code and attach it to the container. If the user wants to know what is in a certain box, they can then scan the QR code on the container and the application will list everything in the container.

If the user wants to find which box contains an item, the application will allow them to search for the item and will then show them the QR code of the box that contains that item. Unfortunately, this is not useful since humans cannot tell the difference between two QR codes. For this application, we will also have the option of using human-recognizable shapes to serve the same purpose as the QR code. This application would then allow users to print a sticker with a human-recognizable shape that is also machine-recognizable. Figure 2 shows a sticker with both a QR code and recognizable shape. The Tomcat application is expected to be able to recognize both the Tomcat logo and the QR code.

Figure 2 : QR code and recognizable shape

The Project : Android App

This project will require the development a of a web-service (using JEE or Python or PHP or some other backend technology) and an Android app front-end. The web service will manage all app data. The front-end must be able to recognize QR codes and communicate with the service for all app processing.

Requirement Details

Create Box

The user should be able to create a box. They create a box by printing a sticker (containing either a QR code, a shape, or both) and attaching it to the box. They then enter any meta-data (tags) that they want to be associated with the box.

Put something in a box

When an item is placed into the storage bin, the application will allow the user to take a photo of the object, associate tags/terms with the item, and store this information within the applications database. The user may also attach a QR code sticker to the item itself. The user would then identify the box that they put the item into. The user could either

Find an item

To find an item in storage, the user will search through the application database by either browsing through a list of every item or by searching for tags associated with the items. Once the item is located on the android device, the container holding that item is identified and it's shape is displayed.

List items in a container

To know what items are in a container, the user will scan the QR code / shape on the containers sticker. The application will then list every item in the container.

Roles and User Management

There should be two roles: admin and user. Users will only be allowed to view, edit, and delete data that they own. An admin will be able to view, edit, and delete any users data. The admin will also be able to disable, create, and delete users. The system should also support a registration system so that new users can create user accounts for themselves.

References