Department of Industrial and Manufacturing Systems Engineering
IMSE2113 Information Systems
Assignment 2
Building A Barcode-enabled Android App for
Displaying Product Information
Objectives
In a department store, a barcode label affixed to a product's packaging or container serves various
purposes for users, such as inventory checking, payment, and product information inquiry. To support
these functionalities, product information associated with a specific barcode must be created and
managed using an information system that incorporates a database. Subsequently, users can
conveniently utilize a computer application, such as a web or mobile app, to scan the barcode label and
access the relevant product information.
This assignment aims to provide students with a hands-on experience in designing and building a mobile
app for displaying food product information by scanning the barcode label on the food packaging.
Upon completion of this individual assignment, students are expected to develop the following skills:
1. Designing and building an Android app using the Microsoft .NET MAUI.
2. Scanning the barcode label attached to the food packaging.
3. Retrieving product information from a public Web API within the Android app. The Web API
"https://world.openfoodfacts.org/api/v0/product/<barcode>.json" will be utilized.
4. Generating an APK file for the Android app.
Major Tasks
Each student is required to design and develop an Android mobile app with the following features:
1. A user interface (UI) that allows users to enter a barcode using an on-screen keyboard.
2. A UI that enables users to scan food packaging’s barcodes, such as 1D EAN barcode and 2D
QR CODE, and then the app can retrieve related food product information by making a request
to the Web API "https://world.openfoodfacts.org/api/v0/product/<barcode>.json".
3. The UI should display common product information, such as the brand name, product name,
product images, ingredients, and more.
Additionally, students are expected to prepare a comprehensive user manual with clear instructions for
guiding users how to use the mobile app.
Items for Submission
Each student is required to submit the following:
1. A mobile app APK file and its corresponding source code.
2. A comprehensive user manual with detailed instructions guides users how to operate the mobile
app.
3. A short video demonstrating the step-by-step process of operating the mobile app.
2
Assessments
Each student's system will be assessed and graded according to the following criteria:
1. UX/UI design
• Aesthetics
• User-friendliness
• Creativity and originality
2. System Design and Implementation
• Functionality
• Clarity of the source code
• Documentation
Submission Date
Please zip all submission files as a zip file (e.g., Student_ID.7z) and submit the zip file to Moodle by
11:59 pm on 26 April 2023.
(Note: Please submit an online drive link for downloading your work if its size is very big)
Information about barcode labels and web API
Barcode labels attached to products offer valuable assistance to users across various applications,
including inventory management, supply chain tracking, product identification, and point-of-sale
automation. The provided figures showcase examples of barcode labels affixed to the packaging of food
products.
EAN-13 and UPC-A are two widely used barcode formats commonly found on food product packaging.
The EAN-13 barcode format is designed to encode 13-digit numbers, while the UPC-A barcode format
encodes 12-digit numbers. These formats are primarily utilized in specific regions, with UPC-A being
predominantly used in the United States and Canada, while EAN-13 is adopted globally. Barcode data
is typically stored as textual information in databases and serves as a key for product identification.
Barcode
3
The table below presents several examples of barcodes:
Product Format Barcode
(Numbers stored
in a database)
Barcode
(Printed on a label)
Nutella Ferrero
750 g
EAN-13 3017620421006
Coca Cola
1.25L
EAN-13 5449000267412
Spam, 25% less
sodium 336g
UPC-A 037600115445
The Android mobile app will integrate a free Web API service offered by "Open Food Facts." This
platform operates as a collaborative, free, and open database for food products worldwide. To fetch
product data, students will utilize the Web API using the following URL format:
https://world.openfoodfacts.org/api/v0/product/[barcode].json. When using this URL, students should
replace the placeholder [barcode] with either an EAN-13 or a UPC-A barcode. The Web API will
respond with the requested data in JSON format.
The table below presents an example of using this Web API:
An HTTP Request
sent to the Web
API
https://world.openfoodfacts.org/api/v0/product/0037600115445.json
An HTTP
Response received
from the Web API
if the product is
found
JSON data of the product would be found in the response.
The above image is a screenshot captured from the Firefox browser. Notably,
Firefox incorporates a built-in JSON data browser, which facilitates the display
of JSON data in a format that is both easy to read and comprehend.
4
The JSON data contains an element named 'status' that serves as an indicator
of the web API's status. When the value of 'status' is equal to 1, it signifies that
a product has been located in the database. In such cases, the product details
can be accessed within the 'product' element.
Within the 'product' element, there is an element called 'image_url' that
specifically stores the URL of the product photo.
The 'product' element contains an element called 'ingredients_text' that stores
a list of ingredients.
An HTTP
Response received
from the Web API
if the product is
not found
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp
标签: