Programming Mobile Systems Assignment | My Assignment Tutor

PROG2005 – Programming Mobile SystemsAssignment 2 (S1 2021)This assignment is due on Friday, 21 May 2021, at 11:00 pm. You should submit your source code as a ZIParchive for all parts of the assignment to the assignment 2 submission link on the unit website. If the file size istoo large to upload via the submission link, please submit only the SRC folder of the Ionic projects as a ZIP file,then send the entire project folders via a method specified by your tutor. Note that marks will be deducted forpoorly structured or uncommented code. All submitted source code files must include title comments that at leastidentify the author and the assignment part. The separate parts of the assignment are to be submitted in separatesubdirectories (e.g. Part1, Part2 etc.).Please note that this assignment will be due after the weekly sessions have covered the last of the requiredmaterials, and covers several laboratory sessions and topics. Do not leave this assignment to the last minute –complete the relevant parts of the assignment while concepts are fresh in your mind. If you require an extension,you must apply to your tutor before the due date to be considered. Unless an extension is approved, there is apenalty (see Unit Information Guide). This assignment requires you to develop two applications to demonstrateyour knowledge of Cordova and Ionic framework. It will start with a Cordova application in part 1, and you willimplement a multipage application using the Ionic framework in part 2. You must use only the Tabs Ionic templatefor your apps for Part 1 and Part 2.To ensure every aspect of the implemented apps work properly, test your apps on a real device or in an emulatorbefore the submission. The browser platforms do not support some of the plugins and hardware sensors, so theapplications may not be tested thoroughly in a browser window.Part 1 – Ionic app using Ionic Native APIs (13 marks)In this section, you will develop an app to use Cordova and Ionic Native plugins which access some of yourdevice’s hardware sensors (1 mark for the correct use of Ionic native). It is unnecessary to test your app on a realdevice, but you should if you have one available. The app should be working correctly on an emulator (it will betested).You are requested to develop a multipage Ionic app. The pages required are:1. A page to implement Text-To-Speech service. Add (3 marks)• an input field to enter a string• a range control to select the speed rate of the speech (0 ~ 1)• a button to call and execute the speak function• a button to stop the playbackUsers will need to enter a text. When the speech button is tapped, the app starts generating thesynthesized audio output of the input text. You can also add a list for locale (a string like ‘enUS’, ‘zh-CN’, etc.) if you wish, but this is optional. You will need to research the ‘text tospeech’ plugin for this.2. A page to display the following device information (2 marks):• Cordova version running on the device• device’s model• device’s operating system name and version• device’s hardware serial numberTo display the above information, you will need to add ‘Device’ Ionic native plugin to yourapplication.3. A page to display the current magnetic compass heading in degrees (2 marks). This uses the ‘DeviceOrientation’ plugin. For full marks, have the page show the heading in symbols N, NW, SE,SSE, etc. (to three levels) (2 marks). For instance, SSE means South-South-East, which is south ofSouth-East. If you want to impress (no extra marks), display a compass and needle pointing to thecorrect points of the compass.4. A page that has an audio player implemented to play audio files (3 marks). Your player needs• a button that plays the audio when tapped• a button to stop the play• a range input to adjust the volumeTo implement the above, you will need to use the ‘Native Audio’ Ionic native plugin. Addthe audio file to the ‘assets’ folder of the Ionic project.Part 2 – Ionic app to manage a veterinary clinic’s animal database (12 marks)The aim is to develop an Ionic multipage app for a veterinary clinic that uses Ionic components, to maintain asmall database of animal information while the app is running on a mobile device or in a browser window. Theapp will access a remote website using RESTful operations (see below) to create, edit and delete records on thewebsite.Your app will implement an injectable service to access the remote website using AJAX techniques. Each pagecomponent will access this injectable service for remote HTTP operations.The data records have the following format (1 mark):• Animal name – string. This will be a unique key for the data.• Animal species – string (must be “dog”, “cat”, “rabbit”, “guinea pig”, “bird” or “other”)• Animal age – number (will be the whole number of years)• Animal sex – string (must be “male” or “female”)• Phone number (owner’s number) – stringThe data has the following requirements (1 mark):• Each record must have a value for all fields. No field can be blank.• The animal ‘species’ and ‘sex’ must be one of the options shown.• The animal name can only be entered and saved once (it must be unique for each animal).Your app will have several pages:• Home page with greetings and your name as app author (1 mark)• A page for listing all animals (1.5 marks)• A page for adding new animals (1.5 marks)• A page for editing the existing animals (3 marks). This page will also allow searching for animals anddeleting an animal from the data.Your app will have help information that appears over the current page when requested (each page require a helpwidget). The delete operation will require a prompt to confirm the delete. This prompt should be an Ionic dialogue(not a JavaScript alert!). You must have at least four pages on your app, and if you chose the tabs template, youmust change the icons to be appropriate (3 marks for all of these).Use appropriate Ionic user interface components to implement the app. Several things are missing here from theusual app. For example, there is no splash screen requested and no media or other native interfaces (e.g. picturesof animals). You can add them if you wish, but these have not been added as requirements to simplify the app.The sever is at URL and the RESTful operations are as follows: GET PetServ/– get all the animal data as a JSON response (an array)GET PetServ/name– get data for an animal named “name”PUT PetServ/– updates the record on the database with the PUT body, which is a JSON formatanimal record. If the animal name exists, the associated data is updated. Otherwise, anew animal record is created.DELETE PetServ/name– removes the record with the given name. Note that removal of the animal named“terry” is forbidden (status 403 returned) so that students will find at least one recordon the server. Successful deletion of other records must return a proper message.


Leave a Reply

Your email address will not be published. Required fields are marked *