Demonstration of networking capabilities

Assignment Help Programming Languages
Reference no: EM132789208

You may hard-code data into the app but to achieve the highest marks in this part, your application should connect to a public, web-based service (see Assessment Criteria below) e.g. to retrieve live information such as the ingredients and nutrients for a selected product.

As part of the app you will need to maintain a small database to store the products and their mapping into lists.

For this you will use an SQLite database. An example database is provided for you and you are free to build from scratch or extend it as you wish. This is a simplistic database with just three tables named ‘lists', ‘products' and ‘products_to_lists'. The first table holds the details of each list (id, name, description, perhaps colour). The second holds details for each product (id, name, ingredients, nutrients etc.). You can use the openfoodfacts API to see the available data. The latter table uses foreign keys to match products to lists. This is illustrated in the figure below:

598_figure.jpg

Figure 1: Schema of the ‘products', 'lists' and ‘products_to_lists' tables

In the "products" table the ‘code' is the primary key (it can take values such as ‘20503550', ‘3052X22A', etc.) The ‘name' is the product's name (e.g. "Kellogs Corn Flakes"), ‘grade' is a text-based rating of the nutritional value of the product (usually ‘A', ‘B', ‘C', ‘D', and ‘E'). Similarly, the nova group is a numerical rating of the nutritional value of the product. The ingredients and the nutrients can be text-based descriptions of the contents of the product (like "sugar 50%, salt 5%", etc.) Note this is only one way to (simplistically) hold the information. You could also hold the structured data you receive from the openfoodfacts API in separate tables, or perhaps as a JSON-formatted string which continues to hold the information. Additional data you could include are ‘vegan', ‘vegetarian', etc. (SQLite does not directly support Booleans. Instead, you could use integers where 0 is false and 1 is true).
The "lists" table holds data about the lists you use to organize the products. At the very least they include an ID, name and description, but you could further customize with colour, icons, etc.

Finally, the ‘products_to_lists' table is used to provide mappings from products to lists. The two fields together form the primary key, and individually are foreign keys to the corresponding products and lists tables. Adding an entry introduces the mapping of the product to a list. Removing it eliminates the mapping. This way you can have multiple mappings of the same products in multiple lists, and multiple products in the same list. SQLite has a simplified set of data types compared to other database engines such as MySQL.

THE BRIEF/INSTRUCTIONS

Your coursework assignment is to design then develop a mobile application. The following pack outlines the basic components and advanced features your application needs for assessment. The second route is pre-defined - this is the route for you, if you would prefer to be told exactly what to create. Both the routes are assessed in the same way, there is no one route better than the other. It is personal choice for each individual student.

Either way, in the first part of the assignment, you will design the user interfaces of your application, which is worth 40% of the overall mark. In the second part (implementation), you will create a working mobile application that corresponds to your designs, which is worth the remaining 60% of the overall mark. You must submit the mobile application including all relevant files to re-compile.

You must gain 20% in each of the two parts to pass overall, please see the Assessment Criteria for further details.

Design
Create at least four screen designs (whether you are following Route One or Route Two) which convey your ideas for the app you plan to create which includes the above pieces of functionality (targeting phone devices, not tablets). These should follow the prototyping process you have learnt in the labs (low to high fidelity, hand drawn to Figma). These screens should be part of the same application. For each of the four screen designs you must provide a written description of 100-200 words justifying your worki.e., explain why you have designed the UI the way you have, and how this has been informed by the sources you read. The designs must be created before the app is implemented, no marks will be given for screen captures from an Android emulator/phone or from within

Route Two
You are to develop an app that provides nutrition facts and information to users. The app should:
1. Contain a list of products (minimum 20 products) so it can be tested. Each product must include at least its name and its nutrition grade (i.e. A, B, C, D, E). You will be able to add more products using screen #2.
2. A screen for adding new products. The user should be able to type a product's barcode or scan a barcode to add it. The data must be automatically loaded using the openfoodfacts API. If the product is found, enable the user to ‘save' it to the list of products (i.e. screen #1).
3. A screen where you can view individual products. For a selected product you should be able to see a description (name), ingredients, and nutrients. Also, you should be able to add (or remove) products from custom lists (see screen #4 below).
4. A screen for managing custom lists (like ‘favorites' or ‘avoid' or ‘healthy'). This screen should enable you to add more lists or delete existing ones. Clicking on a list should show the list of products in that list.

Minimum Requirements
There are minimum requirements that your app needs to include. The application should:
• have followed the design process and created a meaningful user interfaces for your application.
o In addition to the Android Design Guidelines (https://developer.android.com/design/), find a selection of between 2 and 5 additional sources relevant to mobile user interface design and read them. Try to find a range of high-quality sources such as guidelines published by reputable sources, research papers, journal papers, book chapters, etc.
• be developed using Flutter and must be deployed on either Android, iOS or Web (where appropriate).
• include local storage (this is so you can save information to the device, such as login details or settings etc.) using an SQLite database.
• display information to users using multiple methods (list, form, card etc).

Advanced features
In order to access the advanced part of the assessment you should consider the following:
• Create an annotated bibliography: this is simply a list of useful sources you found where each has an associated paragraph summarizing why the source is useful i.e. what information does it provide that can help you create a high-quality usable mobile interface. Use the Harvard Referencing Style for your citations and bibliography.
• Demonstration of networking capabilities, usually by connecting to a free/open API.
• Integrate cloud storage from Google's Firestore to store and retrieve data.
• Utilisation of a specific device feature (Camera > QR reader, GPS, etc.)

Attachment:- Work mobile computing.rar

Reference no: EM132789208

Questions Cloud

Compute the payment at the beginning of each year : Payments to be reset at the beginning of each year. Compute the payment at the beginning of each year? What is the yield to the lender on such a mortgage?
How much was the gain or loss on the exchange for Starfish : The fair value of the old machine was $4,000. How much was the gain or loss on the exchange for Starfish
Discussion about the role of family : Drawing upon the required research readings or lecture, explain what factors increased their vulnerability for commercial sexual exploitation?
Maintain a sustainable workplace : Q1. An organisational sustainable policies strength and weaknesses.
Demonstration of networking capabilities : Create an annotated bibliography: this is simply a list of useful sources you found where each has an associated paragraph summarizing why the source is useful
Identify and rank the importance of explicit issues : Identify and rank the importance of explicit issues. Illustrate the importance of hidden (undirected) issues that arise from a detailed analysis.
In what ways is imagination important in business : In what ways is imagination important in business? In business communication?
How much should the ordinary share capital account : Ordinary share is selling for $18 per share and the preference share for $13.50 per share. How much should the "Ordinary Share Capital" account be credited
Porter five forces analysis of the used book industry : Conduct a Porter's five forces analysis of the used book industry. Is this an attractive industry? Why or why not? Which force(s) have the strongest influence?

Reviews

Write a Review

Programming Languages Questions & Answers

  Write code to find largest value found in parking tickets

Without using any additional variables, write some code that results in mostTickets containing the largest value found in parkingTickets.

  Validation case using regexp

The user must enter a valid IPV4 number in the range 0.0.0.0 to 255.255.255.255(decimal numbers). The number in each category must be between 0-255.

  Create an appropriate folder structure for VS Code

COMP 392 Advanced Graphics Assignment - Using Geometry, Material and Lights to simulate our solar system. Create an appropriate folder structure for VS Code

  Define a class called revenue that has 2 private members

Use public functions of the class in a program that computes RevenueValue and displays RevenueValue when demand is 2000 and price is 2.

  CC17-2 Object Oriented Programming Assignment

CC17-2 Object Oriented Programming Assignment Help and Solution, Majan University College - Assessment Writing Service - Develop an application using Swing

  Write the code for a function called reverse

Write the code for a function called reverse() that is passed the army of letters and the numbers of n,a nd reverses the contents.

  Create a function that takes a one dimentional array

Create a function that takes a one dimentional array us a argument the function should return only these members from the array which are divisible by 4.

  TM111 Introduction to Computing and Information Technology

TM111 Introduction to Computing and Information Technology Assignment Help and Solution - Arab Open University, Kuwait - Write an OUbuild script

  Display program description to user before asking for input

Display a program description to the user before asking for any input. Defines a constant for PI, using fixed notation, carried out to 5 decimal places (value for Pi was given in program 1).

  In software engineering one can find out different life

in software engineering one can find various life cycle models. some examples include the waterfall model agile

  Historical principle for loss to the company is minimal

A colleague of yours frequently takes small amounts of office supplies, noting that the loss to the company is minimal. Your rationale expresses which historical principle?

  Which of the following is not included in a pseudocode

Which of the following is not included in a pseudocode program?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd