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
-
Zymeworks Announces FDA Clearance of Investigational New Drug Application for ZW171, a novel 2+1 T-cVANCOUVER, British Columbia, June 17, 2024 (GLOBE NEWSWIRE) -- Zymeworks Inc. (Nasdaq: ZYME), a clinical-stage biotechnology company developing a di2024-06-17
-
Indonesia Stock Exchange Partners with Nasdaq to Upgrade Market InfrastructureTechnology partnership will further enhance overall resilience and integrity of the exchange, while supporting the rapid deployment of new products2024-06-17
-
Adalvo 的 Liraglutide 預充式注射筆成為歐盟首款獲得批准的仿製藥馬爾他聖瓜安, June 17, 2024 (GLOBE NEWSWIRE) -- Adalvo 宣布 Liraglutide 預充式注射筆成功取得 DCP 批准,成為歐盟首款獲得批准的仿製藥。 根據 IQVIA 的報2024-06-17
-
促进生育,助力三胎——“三胎免费生”联合公益行动正式启动为积极响应国家号召实施三胎生育政策,扩大妇幼服务健康供给,在云南省优生优育妇幼保健协会指导下,昆明广播电视台联合昆明安琪儿妇产医院,于6月13日在昆明广播2024-06-17
-
学党史传承红色精神 守党纪筑牢自律防线——平安养老险湖南分公司党支部开展主题党日活动七一前夕,平安养老险湖南分公司党支部全体成员走进“千年学府、百年师范”——湖南第一师范,开展了一次学史明理、学史增信、学史崇德、学史力行的主题党日活动。重2024-06-17