Implement in appinventor a multi-screen app

Assignment Help Other Subject
Reference no: EM132338936

Overview

You will implement in AppInventor 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

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 AppInventor, 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:

The app you will be developing will be used by event bookers who are promoting social gatherings. e.g. LAN Parties, Board Game Nights

The event organiser has a range of events. Customer can book a seat on a table at an event, and if circumstances change they can remove their reservation at a later time, but not when it is less than 1 day before the event.

The event organisers want you to make an app that can be used to store seat reservation information, and the arrival times of people at the event.

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.

Please read through all of the requirements before you commence the work, so you get a full sense of what is required to be done.

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 reservations for different events, or even just one event. However, before a reservation can be made, the customers details need to be input into the app.
The following details need to be input:
• The email of the customer
• The name of the customer
• A 5 digit reference code that does not start with zeros (e.g. 10000 is the smallest acceptable value).
• Whether the customer is an adult
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 at an event
For this assignment, let us assume that a table has only 4 seats - this will make it easier for you to think about.
To start solving this requirement, assume that there is just one event with a table. (See Level 2 requirements for allowing other tables).
When the staff user chooses to register for an event, the app should show the current seat holders and event start and end time. It should ask which seat to give to the user. It should provide a way to choose one of the existing user and to record the reservation as being for that person.

We need to make sure that the person is not already booked to be on the table or any other table - they can only book one seat per event.
For example, pretend that these are the customers already entered in to the system by requirement 2:
• Elon Musk
• Jeff Who
If Elon Musk has already booked seat #3 of the event table #1, then Elon Musk cannot book any of the others. If Jeff Who has not booked any seat yet (but Elon Musk has table #1 seat 3 ), then Jeff Who can book either seat 1, 2 or 4.
When the details have all been provided about who is making the reservation, and which seat they want to book, then there must be a way to confirm the reservation - to tell the app to store the

reservation so that we know from now onwards, that the customer has booked that seat at the event on a specific table.
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 reservation has already been entered into the app before we come here to make the reservation.
NOTE: If there are no seats available on the event table, 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 reservation
A customer is allowed to cancel their reservation. You need to provide a way in the app, for removing the customer's reservation - 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 event
There must be a screen which will display summary information about a event. It needs to tell the user the following things:
• The amount of tables
• The event location in address form
• The number of seats that are reserved.
• The number of seats that are available.
• The amount of adults versus underage attendees.

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 Elon Musk's details today, close the app, restart the phone tomorrow, and start the app, Elon Musk's details should still be known to the app - we should still be able to book a seat on a flight for Elon Musk.

You should use TinyDB to achieve this. Do not use a File.

Requirement 7: Information about customers who are booked for events, must persist between separate uses of the app
The details of all the reservations of seats, made during requirement 3, and possibly changed by requirement 4, need to persist. For example, if today I book Elon Musk and Jeff Who seats on the same table at an event, close the app, restart my phone tomorrow and restart the app, they should both have reservations for the same seats as today. If Jeff Who cancels his seat tomorrow, then when I start the app the day after tomorrow, it should still show that Elon Musk has his seat booked, but Jeff Who'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 events. For example, one evebt could be a LAN Party, but another event could be Paintball Event, and another event could be hiking trip.

Requirement 8: Create a new event
To achieve this requirement you must let the user create a new event. They must specify the location, time start and end of the event. They must be able to specify the name of the file which will be used to store the reservations details for that event. The customer details (such as their email or their adult status) should still be in the TinyDB.

Requirement 9: Choose the flight to be the "current" one to work with.

Because there are now multiple events, you need to let the user switch between one event and another. There must be a way that the user can change which event 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-reservations data.

Requirement 10: Ensure that there is a ‘default' "current" event 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 event already, such as was the case for level 1. Therefore, you need a way to ensure that there will be a "current" event, 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 event (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 location and start time of the event.

Advanced-Requirement B: User should be able to choose the event on the screen for making a reservation of a seat or cancelling a reservation

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 event there, instead of needing to separately choose a "current" event.

Advanced-Requirement C: Report on a particular customer's current reservations

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

Note: You may include images if you feel that will help, but there are no marks given for their use/inclusion.

Attachment:- Assignment - Mobile Development Fundamentals.rar

Reference no: EM132338936

Questions Cloud

Estimate a production function for a single plant : How would you choose to estimate a production function for a single plant? How would you choose to estimate a production function for a number of firms.
Function as required by american corrections association : How will you fulfill requirements for each function as required by American Corrections Association? How will you ensure that these 3 challenges are overcome?
Availability of cash affects investment decision making : Precautionary reasons have to do with the anxiety by finance managers that they might end up having not enough cash.
Difference between the topic of a message and its main idea : 1. What is the difference between the topic of a message and its main idea?
Implement in appinventor a multi-screen app : ITECH2000 - Mobile Development Fundamentals - Assignment - AppInventor App - implement in AppInventor a multi-screen app for an airline company.
Describe steps how to apply college management : Describe steps how to apply college management course to the real world business
Provide initial screen shot of default permissions for file : Create a file on your computer. Provide an initial screen shot of the default permissions for the file, right after you create it.
Describe difference of research in graduate thesis : Describe difference of research in graduate thesis and research used by corporation of institution
Differences between management and leadership : Considering the differences between management and leadership, are true leaders born or do we have the capability to learn how to lead?

Reviews

len2338936

7/14/2019 10:14:55 PM

Make sure to use MIT app inventor ONLY And should use the all the components that are being listed in the specification Moreover, i need to be done till Requirement 11 (Level 1 and Level 2? Its through MIT app inventor(aia file) till level 2 And i want all the requirements to be completed And it should simple and understandable and working

len2338936

7/14/2019 10:14:16 PM

Advanced-Requirement B Advanced-Requirement B has been completed correctly and the app behaves correctly with its inclusion Advanced-Requirement B has been achieved in the most appropriate way 1 mark 3 marks Advanced-Requirement C Advanced-Requirement C has been completed correctly Advanced-Requirement C has been achieved in the most appropriate way 1 mark 2 marks Appropriate Components Has selected appropriate components for input and for output of information across all screens. Has used TextBoxes, CheckBoxes, Labels, and Buttons appropriately (including using their action blocks and event blocks) appropriately Has used a Spinner or ListView (including their action blocks and event blocks) appropriately Has used the screen-changing mechanisms correctly and appropriately Any other visual components used have not been used in an inappropriate manner 1.5 marks 0.5 marks 0.5 marks 1 marks 0.5 marks

len2338936

7/14/2019 10:14:02 PM

Requirement 9 Requirement 9 has been completed and the app behaves correctly with its inclusion Requirement 9 has been achieved in the most appropriate way 1 mark 1 mark Requirement 10 Requirement 10 has been completed and the app behaves correctly with its inclusion Requirement 10 has been achieved in the most appropriate way 1 mark 1 mark Advanced-Requirement A Advanced-Requirement A has been completed correctly and the app behaves correctly with its inclusion Advanced-Requirement A has been achieved in the most appropriate way 1 mark 2 marks

len2338936

7/14/2019 10:13:53 PM

Requirement 6 Requirement 6 has been completed and behaves correctly Requirement 6 has been achieved in the most appropriate way 1 mark 2 mark Requirement 7 Requirement 7 has been completed and behaves correctly Requirement 7 has been achieved in the most appropriate way 1 mark 2 mark Requirement 8 Requirement 8 has been completed and the app behaves correctly with its inclusion Requirement 8 has been achieved in the most appropriate way 0.5 marks 0.5 marks

len2338936

7/14/2019 10:13:37 PM

Requirement 3 Requirement 3 has been completed and behaves correctly for correct uses Requirement 3 behaves correctly for incorrect uses Requirement 3 has been achieved in the most appropriate way 1 mark 1 mark 2 marks Requirement 4 Requirement 4 has been completed and behaves correctly Requirement 4 has been achieved in the most appropriate way 1 mark 2 marks Requirement 5 Requirement 5 has been completed and behaves correctly Requirement 5 has been achieved in the most appropriate way 1 mark 2 mark

len2338936

7/14/2019 10:13:23 PM

Marking Criteria You will be assessed according to the following scheme: Requirement 1 Requirement 1 has been completed – it is included in the submitted app Requirement 1 has been achieved in the most appropriate way. 1 mark 1 mark Requirement 2 Requirement 2 has been completed, and behaves correctly Requirement 2 has been achieved in the most appropriate way 1 mark 1 mark

len2338936

7/14/2019 10:13:10 PM

You must “export” your AppInventor project in order to submit it through Moodle. To do this, go to “Projects” menu, and select “Export selected project (.aia) to my computer”. Upload the file to Moodle through the assignment link labelled “Submit Assignment 1”. This link will only become available after you have completed the ‘Declaration of Originality’ form for the assignment, which requires you to accept the Student’s Statement – which is instead of you needing to sign a paper cover sheet. It is a legal declaration that the work was done by you, without any part of it being done by someone else.

len2338936

7/14/2019 10:13:00 PM

Timelines and Expectations Percentage Value of Task: 25% (of final semester mark for this course) Final Due Date: 11:59pm, Sunday, 12th (end of Week 8) – after this date, there is a penalty each day. Cut-off Date: 11:59pm, Sunday, 18th – after this date, work will not be accepted Minimum time expectation: 10 hours Maximum time expectation: 30 hours – Most students do not require this much time.

Write a Review

Other Subject Questions & Answers

  Compare your state to national statistics

Present the CDF findings on the topic in a table or graph that you create. Note how different populations are affected. For example, you might compare your state to national statistics or compare the top or bottom states on the topic you chose, co..

  Review the latest global competitiveness report

Every country around the globe is competing for investments by multinational companies. However, before investing in a new facility overseas.

  Create an eight-page book report

This assignment requires the student to read a book by one of the following personality psychologists (Freud, Erikson, Fromm, Jung, Rogers, or Skinner) and create an eight-page book report (about 2,000 words)

  Differentiate two articles of similar areas

The objective of essay is to take two articles in similar areas and differentiate them. Some helpful areas for comparison comprise asking how authors have approached subject.

  What prepared for environmental disasters

What can we do, if anything, to be more prepared for environmental disasters. We just had some major devastation from another hurricane recently

  Reflect on what has been learned and how it applies

Reflect on what has been learned and how it applies to the future of healthcare in this country and your future as a health professional.

  Scientific rigor in qualitative research

What are some methods used by researchers to make sure scientific rigor in qualitative research? If you find out that a study is good, how would you use it in your practice?

  Explore federal agencies that are concern with women health

MN576 Explore federal agencies that are concerned with Women's Health. Which ones may be of benefit to vulnerable women populations.

  Define the major developments in the evolution of mass media

For example, the biography Alexander Hamilton by Ron Chernow is an example of a cultural product of the mass media channel of print publishing.

  What key words indicate the methodology

How does the author present the problem statement? What key words indicate the methodology? How does the author present the purpose statement?

  Calculate sharon''s basis in the inventory received

The Watson Trust incurred the following items during the year. Partnership's Basis in Asset Asset's Fair Market Value Cash $80,000 $80,000 Inventory $130,000 $150,000 Land $90,000 $105,000 (I) Calculate Sharon's recognized gain or loss on the distrib..

  Define the disorders in terms of education

How do they define the disorders in terms of education? What are the needs of these students?

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