PROG2005 PROGRAMMING MOBILE SYSTEMS
Summary
Submission
Via Blackboard. You will need to submit your code for tasks by writing your code in Ionic. You also need to submit a recorded video and a short report. For more details, please read the submission instructions below.
Unit Learning Outcomes
This assessment task maps to the following ULOs:
-
ULO1: contrast mobile device architectures, interfaces, operating systems, and common middleware technology
-
ULO2: apply user-centred techniques to create application interfaces
-
ULO3: apply modern development frameworks to create standalone and web-based mobile applications in a team
-
ULO4: analyse and explain privacy and security requirements specific to mobile applications
Assessment 3 – Programming project - Ionic Group submission (max of 3 members) Monday 15 April 11:59 pm AEST (Week 7) Refer to the assessment details below
40% (30% group, 10% Individual)
Rationale
In this assessment, you will dive deep into the world of mobile application development. Through this project, you'll get hands-on experience with the Ionic framework, crucial for building modern, responsive mobile apps. This practical approach allows you to apply theoretical knowledge to real- world scenarios, enhancing your skills in developing user-centred, functional mobile applications.
Task Description
In this assessment, you will develop a cross-platform application, utilising the Ionic framework. This Ionic application would be an extension of the multipage Angular application from Assessment 2, enhancing its functionalities further with Ionic.
The application must be strictly implemented using the Tabs Ionic template. To ensure they function correctly across all features, especially those that are not supported by web browsers, you should conduct thorough testing on actual hardware devices or emulators.
PROG2005 Assessment 3
This is a group assessment, and you should work in a team of max of THREE (3) students (your team and members must be approved by your tutor). This assignment is worth 40% of your overall mark, from which 30% is allocated to your group work and 10% to your individual work in the group. Your marker will adjust the 10% mark according to your contribution in developing the project, reflected in the Microsoft word document. Although the assignment is completed in a team, all team members must submit the final and identical version of the assignment projects individually.
Along with the application files, you are also required to submit a Microsoft Word document, a time log, for all time spent on this assignment. It should clearly demonstrate the following:
-
How long was each of the team members working on this assignment, and when (date/time) were they working on the assignment. If you were working on the tasks together in the same location, indicate this clearly.
-
For each such interval recorded in the log, what particular task of the application were you working on.
-
If your group members are not doing their share of the work, and this cannot be resolved, please contact your tutor or the UA. The marker will adjust marks accordingly for those not doing their share of the work.
Task Instructions
Ionic app to manage an art gallery database
-
Objective: Develop an Ionic multipage app that uses Ionic UI components for an art gallery to maintain a remote database of artist information while the app is running on a mobile device or in a browser window. The app will access a remote website using RESTful operations (see below) to create, edit and delete records on the website (To implement the RESTful operations, you will need to incorporate concepts learned in the HTTP, AJAX and Rest topic in Module 4 and 6). You can initialise your app with hard-coded data, or you can start with an empty data structure.
-
Initialization: Begin with either hardcoded data or an empty structure. Your code must use types effectively, particularly for parameters and return values.
-
Data Fields: Include artist ID, name, DOB, gender (“Female”, “Male”, “Unspecified”), artwork type (“painting”, “sculpture”, “photograph”, “video art”, “digital art”, “printmaking”), contact info, exhibition date, special notes, and featured artist. All fields, except 'Special notes,' require values. The ‘Gender’ and ‘Artwork type’ field values must be one of the options shown. An artist ID is unique for each artist. An artist can be a featured artist or a regular artist, so find a way to specify an artist as a featured artist. The app must use “featured artist” field just to distinguish between featured and regular artists.
The database attributes corresponding to these data fields and their types specified in the remote database are below, you may need to consider it while adding and updating artist records.
artist_id: int, auto incrementing; name: varchar; dob: date; gender: enum, containing the values “Female”, “Male”, “Unspecified”; artwork_type: enum, containing values “painting”, “sculpture”, “photograph”, “video art”, “digital art”, “printmaking”; contact_info: varchar;
PROG2005 Assessment 3
exhibition_date: date; is_featured_artist: int
To summarise, the types of data your app will send to the REST API will be number and string. The data fields associated with a “date” type must follow a "YYYY-MM-DD" format.
• Features:
o Home page with greetings and your names as app authors
o A page for listing all artists
o A page for adding new artists
o A page for searching existing artists (reading a single record) with name
o A page for listing the featured artists
o Apageforediting/updatingexistingartistrecords.Thiswillalsoallowthedeletionof
an artist from the database using name
o A page that presents text explaining these privacy and security requirements.
• Requirements: Your app will have help information that appears over the current page when requested (each page requires a help widget), and 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 about seven pages on your app, and since you will use the tabs template, you must change the icons to be appropriate. Your app should function properly, look professional, and be user-friendly. Note that some pages in your app may not be accessed through the tabs.
Use appropriate Ionic user interface components to implement the app. Several things are missing here from the usual app. For example, no splash screen is requested and no media or other native interfaces (e.g. pictures of artists). You can add them if you wish, but these have not been added as requirements to simplify the app. and the RESTful operations are as follows:
GET - get all the artist data as a JSON response (an array) endpoint/
GET - get data for an artist named “name” endpoint/name
PUT - updates an existing record of the artist named “name” on the endpoint/name database with the PUT body, which is a JSON format artist
record.
POST - creates a new artist in the database using JSON formatted artist endpoint/ record.
DELETE - removes the record with the given name. Note that removal of endpoint/name the artist named “Terry” is forbidden (error will be returned) so that students will find at least one record on the server.
PROG2005 Assessment 3
Successful deletion of other records must return a proper message.
• Code Structure: Maintain clean and commented code.
This assignment will be due after the weekly modules have covered the last of the required materials and the relevant tutorial and workshop sessions. Do not leave this assignment to the last minute – complete the relevant tasks of the assignment while concepts are fresh in your mind.
If you are experiencing personal or/and difficult situations, you must apply for a Special Consideration (see the link below) and inform your tutor before the due date to be considered. Unless an extension is approved, there is a late submission penalty.
Resources
Use the following resources to support you when working on this assessment.
-
Unit Modules 4, 5, and 6 on Blackboard.
-
Ionic documentation (https://ionic.io/docs)