Assignment Two: A Cross-Platform App
This assignment requires you to develop a simple cross-platform application using your choice of
framework.
Before starting the assignment, read through and gain an understanding of the requirements.
Notes:
• The assignment is out of 20 marks and is worth 5% of your final grade for this course.
• You are not provided with any starting resources for this assignment - you must create
everything yourself.
• After completing the assignment, you should have a mobile application which is functional on
at least one of Android or iOS – ideally both (though we understand if you can’t test on both
due to hardware availability).
• To submit this assignment, Zip your project directory and upload it to Canvas on or before the
due date above.
• Do NOT include files in your submission such as build outputs / downloaded packages /
node_modules folder / etc. If your Zip file is larger than about five megabytes, you’re probably
submitting something you shouldn’t (unless you’re knowingly including high-res images, etc,
which is fine).
Assignment Brief
This assignment is all about building a simple cross-platform mobile app using one of the frameworks
we’ve discussed in-class. The app you’ll be building is a simple shopping cart application.
Choose a Framework
To begin, decide what framework you’re going to use. You may choose from either Xamarin or React
Native. If you’re unfamiliar with your chosen framework, perhaps start by following one of the
introductory tutorials available online – both platforms have extensive documentation.
Compulsory Requirements – 10 marks
At minimum, your application must meet the following functional requirements:
1. Shopping list: When the user first opens the app, they should be presented with a list of all
items in their shopping cart.
2. Item detail: Each shopping cart item should have the following information displayed:
a. Item name
b. Description
c. Quantity
d. Image (obtained from a web URL or the user’s phone gallery)
3. Delete items: By clicking a button somewhere on a particular cart item, the user should be
able to delete that item from their cart.
4. Edit items: By clicking a button somewhere on a particular cart item, the user should navigate
to a new screen allowing them to edit the details of that item.
5. Add items: By clicking a button or menu item somewhere on the main page, the user should
navigate to a new screen allowing them to add a new item.
6. Storage: The information in the user’s cart should persist even when the app is closed. This
could be done by saving the information in the smartphone’s database, or by any other
method you choose.
7. Add / Edit item page: The add / edit item page should have fields allowing users to give
shopping cart items a name, description, quantity, and image.
a. The name field should be a single-line text input.
b. The description field should be a multi-line text input.
c. The quantity field should be some kind of input control which only allows users to
enter positive integer values.
d. The image field should allow users to paste an image URL, and / or select an image
from their phone’s gallery. A preview of the selected image should also be shown.
Example wireframes of the homepage and the add / edit item page are given overleaf. However, it
should be noted that the look and feel of the application is entirely up to you – you don’t have to make
it look exactly like the provided wireframes!
Figure 1: Wireframes showing potential design of shopping cart app
Something Extra – 6 marks
In addition to the compulsory requirements, you should add one additional feature to your
application. Ideas include, but are not limited to:
• Saving the shopping cart to a web service
• Sync shopping carts between different devices
• A Map showing the location of various supermarkets, etc.
• Access the camera to allow users to take photos of items, in addition to using image URLs /
gallery
• Etc…
Reflection – 4 marks
To accompany your app, write a short (one page) report reflecting on the framework used during the
assignment, and its fitness for purpose. Why did you choose the framework you did? Were there any
challenges with this choice? How did you overcome them? Would you use the framework again? Why
/ why not? Given more time, would you have done anything differently?
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。