School of Computer, Data and Mathematical Scicences COMP3013 Mobile Application Developement T1 2022: Assignment 2 ShopAid App (Assignment deadline: Thursday 02/06/2022, 11:59pm (Week 13) on vUWS. You must demonstrate your assignment at the usual tutorial in week 13) Assignment Details For this assignment, you are required to create a simple shopping aid as an iOS App. There should be a list of shopping lists and an inventory of the existing pantry. The app includes a home screen that includes one or more decorative images and options (e.g. button, menu items, tabs etc.) The App has four main functions aside from the home screen: 1. Allow user to view and manipulate pantry items 2. Allow user to view and manipulate shopping list items 3. Allow user to delete shopping list or pantry items from the list of items 4. Allow user to view and manipulate images that are associated with items For the purposes of this assignment the details of the items in the pantry and shopping list should be stored in some kind of “database”. For high marks this should be an SQLite database. For a basic pass some kind of array, list or file structure is acceptable. Where the word “database” appears below it can refer to any of these types of structures, however refer to the marking guide to see what will attract high marks. Please note that the application must have exact elements described in this assignment specifications, no extra elements accepted. For example: implementing an extra element for a screen (eg location for the pantry item where it is not required by the specification) will not be accepted. You can implement features in higher levels (eg credit, distinction or high distinction) to gain marks even you cannot finish some features in pass level. In particular, the App should Pass level (up to 64%): 1. For Pantry items: Provide the main interface and corresponding actions where user can select an option from buttons or other controls including • Add a new pantry record: The pantry information includes Id (unique number for each item), name, price, quantity, image (for pass level, image is not required, image field can be empty). • Edit a pantry record: the user can select an item from the list. The program will display all details of the item in the corresponding fields where the information can be edited. The page should also include an option to delete the current record in addition to the edit option. • View pantry records as a list 2. For Shopping list items: Provide the main interface and implemented actions where the user can select an option from the buttons/menus for manipulating the shopping list including • Add a new shopping list item. The shopping list information includes Id (unique number for each shopping list), shop name, shop location (shop address), date (shopping date), list of pantry items. Please note that user should be able to choose one or more pantry items from a list of pantry items. You can use checkboxes or background colours to indicate selected items. This list can be hardcoded (pass level) or taken from the “database” of pantry items as described above (distinction level). If you use hardcoded list of pantries, make sure you have name, price and quantity for each item. There are at least three pantry items in the hardcoded pantry list. • View the shopping list items. User is able to view the list of shopping list items. The page should also include an option to delete the current record in addition to the edit option. • Edit a shopping list item. When the user clicks on an item in the list of shopping lists, the program will display full detail information of the selected shopping list in the corresponding fields where they can be changed. For the list of pantry items, the user will choose again the pantry items from the list as in Add a new item function. 3. For the pass level: • It is not necessary to store data in an SQLite database. • Code may not be well commented, named or well laid out. Credit level (up to 74%): – Store data in a local SQLite database, and implement INSERT, UPDATE, SELECT and DELETE on the database – Delete multiple items: user is able to delete one or more pantry and shoppling list items from the lists. You may use checkboxes or background colours to indicate selected items to be removed from the list. – Be able to return to the home page or the previous page. – Provide an acceptable quality user interface – Are the screens easy to use? Are they laid out neatly? Do they look good? Distinction level (up to 84%): – When adding/editing a shopping list item, the list of pantry items are NOT hardcoded but are queried from the pantry item database (SQLite database). – View the shopping list items in two categories “Past” and “Current” by checking the shopping dates of the shopping lists. – Good documentation, comments, naming, Object Oriented (using Classes). High Distinction level (up to 100%): – One of the following functionalities: • Provide an interface and corresponding actions where user can select an image and assign the image to a pantry item. The images can be manually stored within the app itself OR user can browse and choose an image from the device. Another way is to take a picture using the device camera and assign the picture to a pantry item. The app should be able to display the assigned image when showing the pantry information. • Provide a function to show a shop address on the map. Note: the address is taken from the shopping list record. – Screen displays should be of high quality. – Advance controls used (eg tabbed activities) and creative/useful features might be considered as extra contributions. Note: simply adding an extra GUI element is not considered as a bonus feature and is usually NOT allowed as stated at the beginning of the specifications. Deliverables You are only allowed to use Swift to code your solution. Your program must be executable. It is an advice that you need to keep multiple versions in case of unforeseen problems. You are allowed to demonstrate your program on your laptop. You might modify the code from related source(s) with a proper citation(s) and you must be able to explain clearly your understanding. The external code should contribute less than 30% of the total program. No part of the code can be written by any other persons. Declaration There is no requirement for documentation. However, you are required to submit a declaration with the following claim (in a text file or world file). DECLARATION I hold a copy of this assignment that I can produce if the original is lost or damaged. I hereby certify that no part of this assignment/product has been copied from any other student’s work or from any other source except where due acknowledgement is made in the assignment. No part of this assignment/product has been written/produced for me by another person except where such collaboration has been authorised by the subject lecturer/tutor concerned. Submission Both the declaration and source code should be submitted via vUWS before the deadline for documentation/checking purpose. All these files should be zipped into one file with your student id as the zipped file name. Submission that does not follow the format is not acceptable. No hard copy of the source code and email submission is acceptable. Demonstration You are required to demonstrate your program during your scheduled practical session in the following teaching week (or based on the advice of the lecturer/tutor). Your tutor will check your code and your understanding of the code. You will receive no marks if you fail the demonstration, especially if you miss the demo time without a special consideration. To prove that the program is written by yourself, the tutor might require you to make some minor modifications. In this case, you must do the requirement in order to prove that the code is only written by yourself. You are allowed to run your program from your laptop at the demonstration time. The feedback to your work will be delivered orally during the demonstration. No further feedback or comments are given afterward. The program you demonstrate should be the same as the one you submit. If you fail this assignment at your first demonstration, you are allowed to improve your work within one week (maximal grade is pass in this case). You must indicate your intention to the tutor/lecturer if you want to take the opportunity to improve the assignment. Do not send your work to the unit coordinator or your lecturer. Your tutor is responsible to mark your work.
https://essayhope.com/wp-content/uploads/2020/02/logo-1-300x75.png 0 0 pyta https://essayhope.com/wp-content/uploads/2020/02/logo-1-300x75.png pyta2022-06-15 12:51:372022-06-15 12:51:37School of Computer, Data and Mathematical Scicences COMP3013 Mobile Application Developement T1 2022: Assignment 2