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
- 赛诺威盛:大孔径专科化CT领航者
- 网易硬刚腾讯 两大游戏玩家之间的口水仗不断
- 全球“最独特”的一台华为 nova 6 5G 版手机是什么样子的?
- 拼多多抖音淘宝京东,谁是真低价?
- 老杨第一次再度抓握住一瓶水,他由此产生了新的憧憬
- 丰田章男称未来依然需要内燃机 已经启动电动机新项目
- B站更新决策机构名单:共有 29 名掌权管理者,包括陈睿、徐逸、李旎、樊欣等人
- 苹果罕见大降价,华为的压力给到了?
- 三明列东又有房子要拆迁!住这里的人要发了!
- 放大招后,广州又忍不住了…
- 私募积极加仓,百亿股票私募仓位指数创出近八周新高
- 他,传闻中马云最想见的人
- 升级的脉脉,正在以招聘业务铺开商业化版图
- 如何经营一家好企业,需要具备什么要素特点
- 智慧驱动 共创未来| 东芝硬盘创新数据存储技术