logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

In this assessment, you need to design and develop an Android App using Android Studio and Java programming language.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

1.     Aim of the Assessment

In this assessment, you need to design and develop an Android App using Android Studio and Java programming language.

2.     Deliverables

You will create an Android App prototype in Android Studio. You will ZIP the Android project folder and submit it via Moodle.

3.     Tasks

App Scenario

The Android app, you have been asked to create, is for a company called “Tuck Box”. This company is looking to provide a lunch delivery service for customers in Palmerston North, Feilding, Ashhurst, and Longburn. Tuck Box will initially offer 4 different meals options for customers to select from. There will be some customisation allowed for the options:

  • Green Salad Lunch (Dressing Choices: none / ranch / vinaigrette)
  • Lamb Korma (Choices: mild / med / hot)
  • Open Chicken Sandwich (Bread Choices: white / rye / wholemeal)
  • Beef Noodle Salad (Choices: no chilli flakes / regular chilli flakes / extra chilli flakes

Customers need to place their order by 10.00am for delivery between 11.45-1.45.  They are able to choose a delivery window (“11.45-12.15, 12.15-12.45, 12.45-1.15, 1.15-1.45”) during which they will receive their ordered meal. Meals are paid on delivery. All users of the app will need to first register by providing a valid credit card number (a 16 digit number) before they can order lunches.

Tuck box has left the app design entirely up to you. You can decide on the GUI design, architecture of the app and data model. You must ensure the use of Material Design Guidelines in your application design. You also need to improve the user-experience of your application by implementing smooth animations and transitions.

 

  • Splash Screen

This is a full window Screen that appears for a few second, before your App’s main screen show up for User login (Task 2). You can design this app to show the logo of Tuck Box and its business idea to App’s users.

Here are some examples of splash screen for different apps:

  • User Login

This is the first interactive full window screen that will allow the already registered users to login and use the App’s services. This screen will also allow the new users of the App to register themselves and should start the User Registration process (User Registration – Task 3, given below). No App Menu will be shown here on this screen. Here is an example login screen design:

Note: These examples of GUI design are indicative and only to guide you for you GUI design. You do not need to follow exactly these GUI designs. You can use your imagination and your designing skills to develop this app.

  • User Registration: ROOM Library

In this task, you need to create registration screen that will collect all the necessary information about the user and will register a new user with your Mobile App. For all the necessary information about the user, you need to create the Data Model. At this moment, you will use the local database using the ROOM library in Android for storing these information locally in your device. Once, a user has registered, then the user can login using his/her login credentials on the User Login screen (Task 2) to user App’s services. This screen should also not have any Application Menu. You will validate the data before you can store it in the local Database and give appropriate message to the user in case of failure as well as success. In case of success, the app will display the Login Screen. Otherwise, the app will display the error(s) message(s) to user that will help to fix the registration problems.

  • App Services

Once, a user has logged into the App, it will show its service: Place an Order, Update User Registration Information (personal info, credit card, delivery address – one user can have multiple delivery address saved in the database)

In this screen, an App Menu will be shown that will also provide the two services: Place an Order and Update User Registration Information as ICONs in the Application BAR on top of the screen. In addition to these two services, it will also show the HOME icon in the Menu that will always bring the App back to App Services Screen.

  • Unser Information Update

This screen will allow the user to updates its Registration Information that divided into three parts:

  1. Personal information like name, telephone, email, notification settings, etc.
  2. Financial Information: Credit card information (remember that a user can update its existing Credit Card Information as well as can add more Credit Card Information into his account. It means that one user can have more than one Credit Card in his account)
  3. Delivery Information: the address on which User want the food to be deliverer. Again one use can have multiple addresses registered in his account.

User will have the options to update any of these three types of information, described above. You will show appropriate messages to user in case of failure and success.

User can also have the ability to delete his account from the App. Before you can do this, you will show a dialog box to user to confirm his deletion request. Once the account has been deleted, the App will show that Login Screen (Task 2)

In this screen, the same APP menu will displayed as described in TASK 4. You need to handle this intelligently using the concepts of Object Oriented Programming.

  • Place an Order

This is the 2nd service provided by the APP. In this service, a registered user who has added at least one Credit Card in his account can place a food order. Placing a food order is further subdivided into the following steps:

  1. Selection of Delivery Region

First of all, a user need to select the delivery region in which he want the food to be delivered. These regions are:

  1. Palmerston North
  2. Feilding
  3. Ashhurst
  4. Longburn

User will select can only chose one region. Once the user has selected the region, this information will be saved and we will move to the next step of the order placement.

  1. Display Meal Options (including customization)

In the second step of the order, Tuck Box app will display the meals options with customization choices:

  • Green Salad Lunch (Dressing Choices: none / ranch / vinaigrette)
  • Lamb Korma (Choices: mild / med / hot)
  • Open Chicken Sandwich (Bread Choices: white / rye / wholemeal)
  • Beef Noodle Salad (Choices: no chilli flakes / regular chilli flakes / extra chilli flakes

Here user can select the multiple meals, select the choice and add the quantity of each meal. The User can also add a note to the order, if he want to.

  1. Order Meal with the stored Credit Card or with an Option to Add a new Card

In this step, the user need to select the mode of payment. If user already has a registered Credit Card, the App should show this card as a mode of payment in an appropriate way to protect the financial information of the user. User simple select this credit card as a mode of payment.

This screen should also allow the user to add a new Credit Card, if he want so. In this case, App can ask the user to remember the new credit card information for the future user or do not remember it. If user has selected the remember for the future option, then App should save the credit card information against the user in the database.

  1. Selection of Delivery Time

In this step, the user will select the delivery time from the available time slots:

  • 11:45-12:15
  • 12:15-12:45
  • 12:45-13:15
  • 13:15-13:45

User can only select one-time slot for the delivery timing.

  1. Confirm the Delivery Address (with default address from the registration information)

In this step, User will provide the delivery address. If User already has a registered delivery address, then App should show this address here for the selection.

App should also allow the user to add a new delivery address in this step and allow the user to enter the information about the new delivery address. For the new delivery address, app should give an option to the user to remember this address for the future user or do not remember it. If the user has opted to remember the new address, then App should save this address against the user in the database.

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

616 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

791 Answers

Hire Me
expert
Husnain SaeedComputer science

513 Answers

Hire Me
expert
Atharva PatilComputer science

780 Answers

Hire Me