Implement in appinventor a multi-screen app for a cinema

Assignment Help Web Project
Reference no: EM132355842

Assignment: AppInventor App

You will implement in AppInventor a multi-screen app for a cinema. This app will use a range of components and persist data between executions.

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.

Assessment Details

You need to create an app that achieves the described functionality (listed later) for the following scenario:

Scenario:

Your app will be used by the staff who work for a cinema, e.g. HOYTS.

The cinema has a range of movie sessions each day. Customers can book to attend a movie session, and if their circumstances change they can cancel their booking at a later time.

They want you to make an app that can be used to store the booking information and the customer details of the people attending a movie session.

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 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 movie sessions, or only a single movie session. However, before they can book to attend a movie session, their details need to be input into the app.

The following details need to be input:
• A 5 digit customer ID that does not start with zeros (e.g. 10000 is the smallest acceptable value).
• The name of the customer
• The customer's date of birth
• Whether the customer has a concession card.
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 Screen1.

Requirement 3: Let customers book a seat at a movie session

For this assignment, let us assume that each movie theatre 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 movie: Toy Story at 8pm on Sunday. (See Level 2 requirements for allowing other movies).
When the staff user chooses to book a passenger, the app should show the movie session details (the movie title and time). It should ask which seat to give to the customer. It should provide a way to choose one of the existing customers that have been entered into the app and to record the booking as being for that person.
We need to make sure that the person has not already booked a space at this movie session - they can only book once for each movie session!
For example, pretend that these are the customers already entered in to the system by requirement 2:
• Gary Martin
• Sarah Smith
If Gary has already booked seat #3 in the movie theatre, then he cannot book any of the other 4 seats. If Sarah has not booked any seat yet (but Gary has booked seat #3), then she can book either seat 1, 2, 4 or 5.
When all the details have 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 in the movie theatre for that session.

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 in the theatre for a movie session, 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 in the movie theatre 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 movie session
There must be a screen which will display summary information about a movie session. It needs to tell the user the following things:
• The name of the movie being played.
• The time that the movie will be played.
• The number of people booked to see the movie.
• The number of seats that are available to book.
• The number of people with a concession card who are attending this session.
• The number of children who are attending this session (e.g. customers who are under 18 years old).

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 Gary Martin's details today, close the app, restart the phone tomorrow, and start the app Gary Martin's details should still be known to the app - we should still be able to book a seat on a flight for Gary Martin.
You should use TinyDB to achieve this. Do not use a File.

Requirement 7: Information about customers and their bookings must persist between separate uses of the app
The details of all the bookings, made during requirement 3, and possibly changed by requirement 4, need to persist. For example, if today I book Gary Martin and Sarah Smith to attend the movie, close the app, restart my phone tomorrow and restart the app, they should both still have bookings for the same seats as today. If Sarah Smith cancels her seat tomorrow, then when I start the app the day after tomorrow, it should still show that Gary Martin has his seat booked, but Sarah Smith's seat should be available.
You should use a File for this. Do not use a TinyDB.

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. Before you attempt any Level 2 tasks, you should finish all Level 1 tasks.

Level 2 is about allowing the app to work for multiple, different movie sessions. For example, one movie session could be for Aladdin at 9am, another movie session could be Men in Black: International at midday, and another could be Aladdin at 1.30pm.

Requirement 8: Create a new movie session
To achieve this requirement you must let the user create a new movie session. They must specify the title, day and time of the movie session. They must be able to specify the name of the file which will be used to store the bookings details for that movie session. The customer details (such as their date of birth or concession status) should still be stored in the TinyDB.

Requirement 9: Choose the movie session to be the "current" one to work with.
Because there are now multiple movie sessions, you need to let the user switch between one movie session and another. There must be a way that the user can change which movie session 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 bookings data.

Requirement 10: Ensure that there is a ‘default' "current" movie session 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 a movie session already, such as was the case for level 1. Therefore, you need a way to ensure that there will be a "current" movie session 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. Your marker will test the robustness of your app so it shouldn't crash if it receives "unexpected" input.

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 new movie session (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 movie title and the time it is showing.

Advanced-Requirement B: User should be able to choose the movie session 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 movie session there, instead of needing to separately choose a "current" movie session (as in Requirement 9).

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

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

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

Attachment:- AppInventor App.rar

Reference no: EM132355842

Questions Cloud

Performs complex mathematical calculations : BSBMKG605 - Evaluate international marketing opportunities - Performs complex mathematical calculations to analyse trend data, business development opportunitie
Develop a stakeholder analysis report : MBA501 - Dynamic Strategy and Disruptive Innovation - Stakeholder Analysis Report - develop a Stakeholder Analysis Report. As a starting point, listen
Need an idea for a possible business problem : Need a possible business issue to be created and solved using data Analytics. Need an idea for a possible business problem
Advanced research methods and statistics : PSYC472 - Advanced Research Methods and Statistics - University of New England - Does Cognitive Reappraisal Mediate the Relationship between Attachment Anxiety
Implement in appinventor a multi-screen app for a cinema : ITECH2000 Mobile Development Fundamentals - Assignment: AppInventor App - implement in AppInventor a multi-screen app for a cinema
5 key elements that must be considered : Effective marketing objectives have 5 key elements that must be considered, what are they?
What are four important questions to ask : When analysing and assessing marketing opportunities, what are four important questions to ask?
What are four opportunities that can lead to growth : What are four opportunities that can lead to growth and increased sales?
Four ps of marketing : Describe in your own word the four P's of marketing

Reviews

len2355842

8/10/2019 5:08:10 AM

Names of variables, components, procedures, etc. The names used for variables, components, procedures and their argument slots, are the appropriate, and are chosen to clearly communicate their purpose in the code. 2 marks Requirement 11 Validation is implemented correctly and thoroughly throughout the app. 3 marks Overall ability to construct code sequences, in response to appropriate events, to achieve problem solving of computer programming tasks 3 marks TOTAL: 60 marks

len2355842

8/10/2019 5:08:03 AM

Programming Constructs Has used repetition construct to repeat code sequences appropriately and in appropriate places Has used decision constructs appropriately / in appropriate places 2 marks Has formed appropriate boolean and relational expressions Has used the list construct for appropriate purposes and used its action blocks in an appropriate manner to manipulate/use lists. Has formed procedures appropriately and in appropriate circumstances Has used the TinyDB component appropriately Has used the Clock component and “time instant” values appropriately 2 marks 2 marks 2 marks 2 marks 2 marks 1 mark

len2355842

8/10/2019 5:07:54 AM

Advanced-Requirement B – User can choose movie session on booking/cancel screen 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 – Report on particular customer’s bookings Advanced-Requirement C has been completed correctly Advanced-Requirement A 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

len2355842

8/10/2019 5:07:46 AM

Requirement 9 – Choose “current” movie session to work with 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 – Ensure that there is a “default” movie session 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 – User should not need to enter file names 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

len2355842

8/10/2019 5:07:38 AM

Requirement 6 – Persist customer information using TinyDB Requirement 6 has been completed and behaves correctly Requirement 6 has been achieved in the most appropriate way 1 mark 2 mark Requirement 7 – Persist booking information using a File Requirement 7 has been completed and behaves correctly Requirement 7 has been achieved in the most appropriate way 1 mark 2 mark Requirement 8 – Create a new movie session 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

len2355842

8/10/2019 5:07:30 AM

Requirement 4 – Allow customers to cancel a booking Requirement 4 has been completed and behaves correctly Requirement 4 has been achieved in the most appropriate way 1 mark 2 marks Requirement 5 – Show summary information about a movie session Requirement 5 has been completed and behaves correctly Requirement 5 has been achieved in the most appropriate way 1 mark 2 mark

len2355842

8/10/2019 5:07:22 AM

Marking Criteria You will be assessed according to the following scheme: Requirement 1 – There must be a welcome screen 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 – Obtain information about customer Requirement 2 has been completed, and behaves correctly Requirement 2 has been achieved in the most appropriate way 1 mark 1 mark Requirement 3 – Let customers book a seat at a movie session 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

Write a Review

Web Project Questions & Answers

  Create two simple web scraper programs

Create two Simple Web / Screen Scraper programs (preferably using 2 different websites or try to extract 2 different pieces of information from 1 website)

  Creating functions through conditional operator

Use the conditional operator and the cal_days_in_month function, determine the number of days in the current month and output to browser whether it is normal month or a leap month.

  Create account link goes to which has id and password

Design login.html which has ID and Password in text box with Login button and also Create Account link.

  Discuss about wordpress plugin in the given images

Please discuss about wordpress plugin in the attached images and add picture and talk about each one and should include why used

  Create an app for ios in xcode that demonstrates navigation

Create an application for iOS in Xcode that demonstrates navigation with the use of two screens and displays information from a web service. Use Objective-C as your programming language.

  Can firm increase variability of its product line

Can a firm increase the variability and diversity of its product line while simultaneous realizing the higher possible level of efficiency? Provide one product example for illustration.

  Create simple personal website by uploading text,photograph

Create a simple, basic personal website by uploading the text & photographs provided. Use JPEG format for photos and set them using pixels. (2 photos attached). Choose any colors for the site specify them using hex codes (specs below). Give the UR..

  What is different between the head command and get command

What is different between the HEAD command and the GET command? Why do you think the HEAD command tells you the Content-Type?

  Question about saving a project

Assume that you have been assigned to save a project that is already over budget and past due. The assignment is still only half done.

  Explanation of xml and its standards

Explain briefly XML and its standards, identifying the difference between XML and HTML and provide three examples of how XML is used.

  Describe how the strategic goals addressed e-commerce

List and describe how the strategic goals and objectives of your organisation will be addressed in your proposed e-commerce website. Identify what key stakeholders/customers will want from your proposed e-commerce website, and how this fits with t..

  Identify and describe target market

Discuss the Website Development Process: Establish site objective-marketing, Identify and describe target market-market and Design site content and navigation structure-marketing with the aid of information architects

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