Implement in app inventor a multi-screen app

Assignment Help Other Subject
Reference no: EM132109261

Assignment: App Inventor App

Overview

You will implement in App Inventor a multi-screen app for an airline company which uses a range of components and persists data between executions.

You may be required to attend an interview with the marker to answer questions about your work before they will mark your submission.

Learning Outcomes Assessed

This assignment has been designed to enable you to demonstrate your learning in regards to the following outcomes of the course:
K1. Understand constructs typical of many programming languages such as: variables, expressions, assignment, sequence, selection, iteration, procedures, parameters, return values.
A1. Design, develop, test and debug mobile apps from a given textual program specification.
S1. Analyse the input, processing and output needs of small programming problems. S2. Design code sequences to realise algorithms in a programming language.
S3. Design basic user interfaces and develop storyboards to convey designed interaction sequences.

In particular, the assignment has been designed to help give you further experience in using App Inventor, and to assess your attainment of a range of the learning objectives from weeks 2 through to 6 of the semester.

Assessment Details
You need to do create a functioning app that does the described functionality (listed later) for the following scenario:

Scenario:
Your app will be used by the staff who work for an airline company, e.g. Qantas Airways.
The airline has a range of flights between various cities each day. Customers can book to fly on a flight, and if circumstances change they can cancel their booking at a later time, but not when it is less than 2 hours until the flight.
They want you to make an app that can be used to store the booking information, and the check-in information of the people on a flight.

The "Requirements" listed below will help to explain what functionality the app needs to achieve. If you feel you cannot achieve a particular feature, then please try the other features and then come back to it. Remember that you can ask the lecturer questions by email to clarify what is meant by any of the following requirements.
To get full marks you will need to ensure that you have made use of each of the following components or constructs somewhere in your app:
- a Notifier
- a Spinner or ListView (or both)
- a CheckBox
- Labels
- TextBoxes
- Buttons
- A Clock and instants
- HorizontalArrangement or TableArrangement (or both)
- a TinyDB component to gain access to persistent data stored in a database.
- the list construct
- a repetition construct
- a decision construct
- a boolean (AND or OR) expression.
- Procedures you have defined using the ‘to do' or ‘to do ... result' blocks.

Level 1 - Compulsory Tasks
I expect all students should be able to complete all the requirements in Level 1. By completing these requirements, you should definitely get a ‘pass' grade for the assignment, provided you have done things the correct and intended way.

Requirement 1: There must be a welcome screen
This screen should be the first one presented to the user when they start your app - thus it needs to be done on "Screen1". The screen needs to have mechanisms to get to the various other functions that are offered by the app.

Requirement 2: Obtain information about a customer
It must be possible to enter the details of a new customer into the app. The customer might make several bookings for different flights, or even just one flight. However, before the can make the flight booking, their details need to be input into the app.
The following details need to be input:
- The name of the customer
- The address of the customer
- A 5 digit passenger code that does not start with zeros (e.g. 10000 is the smallest acceptable value).
- Whether the customer can only eat halal meat (e.g. Muslim passengers).
There must be a specific screen where the user will enter this information. After validating the input, the screen should pass the inputted information to the prior screen (the screen we were at before we came to this screen for input). This screen should not store the information anywhere - it must return the information to the prior screen.

Requirement 3: Let customers book seats on a flight
For this assignment, let us assume that a flight has only 5 seats - this will make it easier for you to think about.
To start solving this requirement, assume that there is just one flight: from Melbourne to Sydney. (See Level 2 requirements for allowing other flights).
When the staff user chooses to book a passenger, the app should show the flight route (the origin and destination). It should ask which seat to give to the passenger. It should provide a way to choose one of the existing customers and to record the booking as being for that person.
We need to make sure that the person is not already booked to be on the flight - they can only book one seat on that flight.
For example, pretend that these are the customers already entered in to the system by requirement 2:
- Mickey Mouse
- Donald Duck
If Mickey Mouse has already booked seat #3 of the flight, then Mickey Mouse cannot book any of the other 4 seats. If Donald Duck has not booked any seat yet (but Mickey mouse has seat 3), then Donald Duck can book either seat 1, 2, 4 or 5.
When the details have all been provided about who is making the booking, and which seat they want to book, then there must be a way to confirm the booking - to tell the app to store the booking so that we know from now onwards, that the customer has booked that seat on the flight.

We do not want to be entering the customer's personal details here. Requirement 2 is where the customer's personal details are entered. So you must make sure that the customer who wants to make a booking has already been entered into the app before we come here to make the booking.
NOTE: If there are no seats available on the flight, you should warn the user so that they do not try to give a seat to a customer.

Requirement 4: Allow customers to cancel a booking
A customer is allowed to cancel their booking. You need to provide a way in the app, for removing the customer's booking - the seat will become available to any customer (including the same customer if they choose to book a seat in the future).

Requirement 5: Show summary information about a flight
There must be a screen which will display summary information about a flight. It needs to tell the user the following things:
- The source and destination places.
- The number of seats that are booked.
- The number of seats that are available.
- The number of passengers booked on the flight that need a halal meal.

Requirement 6: Information about customers details, must persist between separate uses of the app
The details about customers from requirement 2, should only ever need to be entered once. If I enter Mickey Mouse's details today, close the app, restart the phone tomorrow, and start the app, Mickey Mouse's details should still be known to the app - we should still be able to book a seat on a flight for Mickey Mouse.
You should use TinyDB to achieve this. Do not use a File.

Requirement 7: Information about passengers who are booked for flights, must persist between separate uses of the app
The details of all the bookings of seats, made during requirement 3, and possibly changed by requirement 4, need to persist. For example, if today I book Mickey Mouse and Donald Duck seats on the flight, close the app, restart my phone tomorrow and restart the app, they should both have bookings for the same seats as today. If Donald Duck cancels his seat tomorrow, then when I start the app the day after tomorrow, it should still show that Mickey Mouse has his seat booked, but Donald Duck's seat should be available.
You should use a File for this.

Level 2 - More complicated Tasks
Some students may find these tasks harder. We do not expect everyone to achieve all of these tasks, but if you do, you will probably receive a higher grade.

Level 2 is about allowing the app to work for multiple different flights. For example, one flight could be Melbourne to Sydney, but another flight could be Melbourne to Perth, and another flight could be Auckland to Los Angeles.

Requirement 8: Create a new flight
To achieve this requirement you must let the user create a new flight. They must specify the origin and destination places of the flight. They must be able to specify the name of the file which will be used to store the bookings details for that flight. The customer details (such as their passport or their meal preference) should still be in the TinyDB.

Requirement 9: Choose the flight to be the "current" one to work with.
Because there are now multiple flights, you need to let the user switch between one flight and another. There must be a way that the user can change which flight is the one which is currently being changed
/ viewed. You can assume that the user will be required to provide the name of the file that contains the seat-bookings data.

Requirement 10: Ensure that there is a ‘default' "current" flight for the app
The first time the app is run (e.g. by the person who grades you), they will need to have the app thinking it is dealing with an flight already, such as was the case for level 1. Therefore, you need a way to ensure that there will be a "current" flight, when the app is run the first time - if the user has to do something to ensure this, make sure it is obvious to the user.

Requirement 11: You must have full validation of all input
It should not be possible anywhere in the app, for the user to enter data that does not make sense, or which is incorrect, or which is inconsistent with the described requirements. This includes for input argument slots of procedures.

Level 3 - Advanced Tasks
These tasks are hard to achieve, and should only be attempted if you completed Level 2. You need to achieve these tasks if you want the HD (High Distinction) grade, because they require you to apply problem solving skills without any guidance.

Advanced-Requirement A: User should not need to enter file names
After creating a flight (see requirement 8), the user should never again need to type in the file name, nor even see or remember it. Instead, they should only need to know the origin and destination place of the flight, and also the day and time it is due to depart from the origin place.
Advanced-Requirement B: User should be able to choose the flight on the screen for making a booking of a seat or cancelling a booking
On the screen used for requirement 3, and the screen used for requirement 4 (they may be the same or different screens depending on how you have done it), the user should be able to select the flight
there, instead of needing to separately choose a "current" flight.
Advanced-Requirement C: Report on a particular customer's current bookings

There should be a screen where you can choose a particular customer (passenger), and it will tell us all the flights that they have booked a seat for. If they cancelled a booking, it should not be shown on this screen.

Attachment:- ITECH2000-Assignment.rar

Verified Expert

The airline system app is constructed for the airline system using MIT app inventor which is very easy to understand and very effective in nature the app made in MIT app inventor can run in any emulator.

Reference no: EM132109261

Questions Cloud

Explain each of the steps in the programming process : What do you think the outcome would be if this C# code were compiled and executed? Explain your answer.
What is a country exchange rate policy : What is a country's exchange rate policy and how (and why) did this play such an important role in the implementation of import-substituting industrialization?
Calculate parking fee : Ask the user for the vehicle type (car, truck, SUV etc.), and how long they will park the cars. Define different rates for long term and short-term parking.
Implications for development economics : What did this sentence mean and what were its implications for development economics?
Implement in app inventor a multi-screen app : ITECH2000 Mobile Development Fundamentals - implement in App Inventor a multi-screen app for an airline company which uses a range of components and persists
How can i make smith concepts of exchange : Ref Adam Smith Wealth of Nations. first 3 chapters. How can I make SMITH'S concepts of exchange, self interest and divided labour apply to my college education?
Converting fahrenheit to centigrade and centigrade : Change the value in the centigrade box by using the formula for converting Fahrenheit to Centigrade and Centigrade to Fahrenheit.
Economy that produces only two goods : Consider an economy that produces only two goods: oil and gasoline. In this economy, the technology of producing gasoline involves using oil as an input.
Write a function that reads a line and reverses the words : Write a function that reads a line and reverses the words in the line (not the characters) using a stack.

Reviews

inf2109261

12/17/2018 1:28:25 AM

Woow I passed in this assignment, it was really a tough one. Thanks to Expertmind, without their guidance it wont be possible for me to do so. I hope working together for another time in near future.

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

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