This assignment consists of a GitHub code repository and a report explaining the design of the app. Submit your report to Blackboard Task 3. Please follow the submission instructions provided in this document.
The assignment will be marked out of a total of 100 marks and forms 50% of the total assessment for the course. ALL reports will be checked for plagiarism by SafeAssign system provided by Blackboard automatically, and all code packages will be checked by Moss (Measure Of Software Similarity).
Refer to your Course Outline or the Course Web Site for a copy of the “Student Misconduct, Plagiarism and Collusion” guidelines.
Late submission will be penalised according to the policy in the course outline. Please note Saturday and Sunday are included in the count of days late.
Requests for an extension to an assignment MUST be made to the course coordinator prior to the date of submission and requests made on the day of submission or after the submission date will only be considered in exceptional circumstances. Assignment submission extensions will only be made using the official University guidelines.
Case Study:
Trip Logger A startup company plans to develop an app which allows users to keep records of their personal trips. For example, pulling all fields in the trip view, we can log the following information in the app:
• At 16:00 on 1st August 2021, I visited Delicious restaurant as a work trip. I have stayed there for half an hour. The trip is for visiting the customer on network errors. A photo of the restaurant is attached.
The requirements for the app are listed as follows:
1. When a user opens the app, the main user interface (List UI) appears, which includes the following items:
a. A list of trip records is shown. For each record, its “title”, “date”, and “destination” are displayed.
b. A toolbar with two entries: “New”, “Reset”.
2. When the user clicks the menu item “New” in List UI, the record user interface (Item UI) appears to allow the user to log a new record. The following items should be displayed: “Title”, “Destination”, “Date”, “Duration”, “Image”, “Share”. “Title” is the short description of the visit, “Destination” is the name of place, “Date” is the starting time of the visit, “Duration” notes how long the user has been at the place, “Image” is a photo taken by the camera. The requirements of this UI include:
a. “Title”, “Destination”, and “Duration” are editable text fields.
b. “Date” is a button, showing the current date. When clicked, it uses a dialog for users to pick up a date.
c. “Image” has two parts: an image view, and a button. When the button is clicked, it allows the user to take a picture of the place with the camera, and display it.
d. When pressing on the image thumbnail, a zoomed-in version of the photo is displayed (Challenge in Chapter 16). Hint: use a Dialog Fragment.
e. “Share” is a button, allowing to send a summary of the record.
f. When a user leaves this UI, the record details are saved. The List UI should be refreshed.
3. When the user clicks a record in List UI, its details will be displayed in Item UI similar to Requirement 2, but with
a. A button “Delete” to delete this record. Deletion should bring the app to the refreshed List UI. Be aware that “Delete” button should not be displayed in Requirement 2.
4. When the user clicks the menu item “Reset” in the List UI, the execution of clearing all records is performed. The requirement is:
a. A dialog pops up to ask the confirmation of the user. If the user selects “No”, then do nothing.
b. If the user selects “Yes”, then all records are deleted from the database. The List UI should be refreshed afterwards.
c. After successful resetting, send a notification to inform the user that “All past records have been cleared”. Otherwise, send a notification of “Reset failed.”
General implementation requirements:
• Requirement 2 & 3 should be implemented within the same fragment, as in CriminalIntent.
• Use fragments for List UI and Item UI. Failure to do so will cause a penalty of 50% for each.
• Use Room to implement the database for storing trip records. Failure to do so will cause a penalty of 15 marks.
You also need to prepare a report to explain your design of the app. Please follow the report template to write your report.
Code Format
The code implementation should be with Android Studio.
Report Format
The report is to explain the concepts and designs of your app.
Your report should be around 1,000 words.
Please follow the report template.
Submission
Submit your report to Blackboard Task 3 before 11:59pm Friday, Exam Week 1. The app code repository should remain untouched for 1 month after the submission.
Late submission will be penalised according to the policy in the course outline. Please note Saturday and Sunday are included in the count of days late.
Assignment Return and Release of Grades
Assignment grades will be available on the blackboard in two weeks after the submission.
The assignment will be assessed according to the marking sheet at the end of this file. Details of marking will also be accessible via online rubrics on the blackboard. Where an assignment is undergoing investigation for alleged plagiarism or collusion the grade for the assignment and the assignment will be withheld until the investigation has concluded.
Assignment Advice
This assignment will take a number of weeks to complete and will require a good understanding of app development skills for successful completion. It is imperative that students take heed of the following points in relation to doing this assignment:
1. Ensure that you clearly understand the requirements for the assignment – what has to be done and what are the deliverables.
2. If you do not understand any of the assignment requirements – Please ASK the course coordinator or your tutor.
3. Each time you work on any aspect of the assignment reread the assignment requirements to ensure that what is required is clearly understood.