Task 2 consists of a code package and a report explaining the design of the app. Submit your code via GitHub or BitBucket, and your report to Blackboard Task 2. Please follow the submission instructions on Blackboard.
The assignment will be marked out of a total of 100 marks and forms 40% 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.
Assignment submission extensions will only be made using the official Faculty of Arts, Business and Law Guidelines.
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.
Case Study: Trip Logger
A startup company plans to develop an app which allows users to keep records of their personal trips. The requirements for the app are listed as follows:
1. When a user opens the app, the main user interface appears, which includes the following items:
a. A list of past trips is shown. For each trip item, its title, date, and destination are displayed.
b. Two buttons are displayed at the top of the screen: Log and Settings.
2. When the user clicks a trip item, its details will be displayed in a new UI. The following items should be displayed:
a. Title, Date, Trip Type, Destination, Duration, Comment, Photo.
b. The change should be saved when a user leaves this UI, and the main UI should be refreshed to show the change.
c. A button to delete this record. Deletion should bring the app to the refreshed main UI.
d. A button to show the saved GPS location in Google Map (in a new window).
3. When the user clicks the button "Log" in the main UI, a new UI appears to allow the user to log a new trip. The following items should be displayed:
a. Title, Date, Trip Type, Destination, Duration, Comment, Photo. Trip Type should be confined to the categories of Work/Personal/Commute.
b. The photo item allows the user to take a picture with the camera.
c. The current GPS location is inserted into an un-editable field automatically.
d. A button to save this record, and a button to cancel. Either button will bring the app to the refreshed main UI.
e. The change should also be saved when a user leaves this UI.
4. When the user clicks the button "Settings" in the main UI, a new UI appears to set up the user profile. The following items should be displayed:
a. Name, ID, email, gender, comment.
b. All setting modifications should be saved automatically.
c. Put your Name, student ID, and email as the default value in Name, ID, and email field. You can optionally provide a comment about the course in the comment field.
General implementation requirements:
- Use fragments for UI. Failure to do so will cause a penalty of 4 marks for each activity.
- Save data with SQLite. Failure to do so will cause a penalty of 5 marks.
You also need to prepare a report to explain your design of the app. The following contents are required:
1. MVC diagrams for each UI. There should be 4 MVC diagrams for 4 key activities. The diagram for Google Map Activity is not required.
2. Database schema design. There should be at least two tables, one for Trip, and one for Settings.
3. A final section of 'Reflections'. In this part, discuss any difficulties you had implementing the program and how you solved those difficulties. Reflect on how the development process went for you, what you learnt, and what you might do differently next time.
Code Package Format
The code implementation should be with Android Studio.
Host your code in GitHub or BitBucket, with ".gitignore" correctly configured to filter out all intermediate files generated by Android Studio. An APK file should also be generated and put at the root folder in the git repository. This APK will be used in case that your code cannot be compiled on a different computer during the marking period.
In the first section of your report, clearly explain the approach to access to your Git repository. You have the responsibility to keep the repository fully accessible for four weeks after the due date. Failure to do so will result in the failure of your assignment.
Report Format
Your report should be no less than 1,000 words and it would be best to be no longer than 3,000 words long.
The report is to explain the concepts and designs of your app. The report MUST be formatted using the following guidelines:
- Paragraph text - 12 point Calibri single line spacing
- Headings - Arial in an appropriate type size
- Margins - 2.5cm on all margins
- Header - Report title
- Footer - page number (including the word "Page")
- Page numbering - roman numerals (i, ii, iii, iv) up to and including the Table of Contents, restart numbering using conventional numerals (1, 2, 3, 4) from the first page after the Table of Contents.
- Title Page - Must not contain headers or footers. Include your name as the report's author.
- The report is to be created as a single Microsoft Word document (version 2007, 2010, 2013 or Office 365). No other format is acceptable and doing so will result in the deduction of marks.
- No reference is required.
Please follow the conventions detailed in:
Summers, J. & Smith, B., 2014, Communication Skills Handbook, 4th Ed, Wiley, Australia.