###ps. to run our code and build the project, you have to install lombok with intellij or Android Studio(Not sure if eclipse will work) ###This is because we used this plugin to automically generate get and set methods for our TaskDB(RoomDatabase) Class. TEAM STRUCTURE AND ROLES
Project Team Member:
U6792826: XUNING TAN: Project Team Lead / ScrumMaster
U6708515: XINYUE XU: Application Developer
U6579751: NIANEN ZHU: Application Developer
U6484911: ZHE CHEN: Application Developer
Our team chose the project of TODOLIST, which was completed in three stages. Eight days is a cycle. In the first stage, we first designed the layout of the whole APP. And then the division of labor. Zhe Chen finished the compilation of adding/deleting items; Nianen Zhu finished the writing of setting reminder function for the event; Xinyue Xu completed the editing of the event function; Xuning Tan finished the preparation of the calendar. The second stage enters the stage of perfect function; Xinyue Xu completed the editing, add the page preparation; Zhe Chen finished the preparation of pop Windows and added the function of selecting time to the page. Nianen Zhu completed the registration system to remind events and edit the preparation of functions; Xuning Tan completed the further completion of the calendar function preparation and start in the map function preparation. The third stage is optimization stage; Zhe Chen finished the compilation of the pop-up function of the sidebar; Nianen Zhu completed the left and right TAB switch function preparation; Xinyue Xu completed the addition of pop-up animation and closed animation preparation; Xuning Tan finished the star after automatic forward, cancel the star to create the time sequence of preparation and the improvement of map function.
Design Summary
In the "TODOLIST" application, we include some main components in the design.
App Bars: A bottom app bar displays navigation and critical actions at the bottom of mobile screens, Includes Home page button, Task page button, "Add new list card button". It puts more focus on features, increases engagement, and visually anchors the UI.
Top-Calendar: There is a Calendar at the top bar. The date of the calendar is automatically updated every day as time changes.
List cards: Cards contain content and show necessary information of the reminder, and after clicking the cards, it can pop up a window, and able to edit details of the reminder.
Date and time picker: Date and time pickers let users select a date and time to remind.
Map: when select the location, it will show on the List cards.
Task classification: Classify the even according to daily life, which is simpler and clearer
| Group Meeting Agenda 1 | |
|---|---|
| Location: | [Warrumbul Lodge Level 3 Study Room] |
| Date: | [21 September 2019] |
| Time: | [20:00-23:00] |
[According to each person's ability, assign tasks, and agree on completion time.]
| Group Meeting Agenda 2 | |
|---|---|
| Location: | [Warrumbul Lodge Level 3 Study Room] |
| Date: | [27 September 2019] |
| Time: | [18:00-21:00] |
[According to the last meeting, we divided the project into three period to develop. First, we discussed the first period tasks.]
| Group Meeting Agenda 3 | |
|---|---|
| Location: | [Warrumbul Lodge Level 1 Study Room] |
| Date: | [06 October 2019] |
| Time: | [18:00-21:00] |
| Group Meeting Agenda 4 | |
|---|---|
| Location: | [Warrumbul Lodge Level 1 Study Room] |
| Date: | [12 October 2019] |
| Time: | [18:00-21:00] |
| Group Meeting Agenda 5 | |
|---|---|
| Location: | [Warrumbul Lodge Level 3 Study Room] |
| Date: | [17 October 2019] |
| Time: | [19:00-24:00] |
[Run the app on both virtual devices and physical machines and verify the implementation of the function.]
Git Commit History
Testing Summary
When our group was working on this project, we encountered many problems, such as the app could not run normally, the function could not be realized and even the version issues. So, we adopted Junit to test, update the task, Edit the task and delete the task then solve those problems, so that rh program development could run normally.
App summary & Screenshots
In the app, we have some main function.
- Calendar
There is a Calendar at the top bar. The date of the calendar is automatically updated every day as time changes. For example, if today is 18/10 Friday, then the date can be update to 18/10 Friday.
-
“Home Page button”: after click the button, then can be come back to home page.
-
“Adding button”: Click the button, then jump to “Add Task” page. Complete information, then show a new task card on the home page
-
“Task page button”: Click the button then go to task page.
-
Edit text: Enter title of task.
-
Edit Text: Enter description of task.
-
Radio Button: Choose task classification.
-
Date and time picker: Able to choose date and time to time remind.
-
Map: Select place, when reach the specific place, then reminder can remind user to do the task.
-
“Save button”: Click the button then save information, and show the task card on the home page.
“Task Page”: classification of different kind of task.
“Task Card”: Show basic information of task, and after Click the “star”, then it can be light.
-
Name: 'com.ashokvarma.android:bottom-navigation-bar:2.1.0'
Function: BottomNavigation
Source: https://github.com/Ashok-Varma/BottomNavigation
Author: Ashok Varma
-
Name: 'com.applandeo:material-calendar-view:1.7.0'
Function: Calendar-View
Source: https://github.com/Applandeo/Material-Calendar-View
Author: Applandeo
-
Name: 'com.sackcentury:shinebutton:0.2.0'
Function: ShineButton
Source: https://github.com/ChadCSong/ShineButton
Author: Chad Song
-
Name: 'com.google.maps.android:android-maps-utils:0.5+'
Function: Android-maps-utils
Source: https://github.com/googlemaps/android-maps-utils
Author: Google Maps
-
Name: 'com.google.android.material:material:1.0.0'
Function: material-components-android
Source: https://github.com/material-components/material-components-android/releases
Author: Material Components
-
Name: 'com.google.android.gms:play-services-maps:17.0.0'
Function: play-services-maps
Source: https://developers.google.com/android/guides/releases
Author: Google
-
Name: 'joda-time:joda-time:2.10.4'
Function: Date and time library to replace JDK date handling
Source: https://github.com/JodaOrg/joda-time
Author: Joda.org
-
Name: 'com.wdullaer:materialdatetimepicker:4.2.3'
Function: MaterialDateTimePicker
Source: https://github.com/wdullaer/MaterialDateTimePicker
Author: wdullaer
-
Name: 'devs.mulham.horizontalcalendar:horizontalcalendar:1.3.4'
Function: Horizontal-Calendar
Source: https://github.com/Mulham-Raee/Horizontal-Calendar
Author: Mulham-Raee
-
Name: 'com.google.android.gms:play-services-location:17.0.0'
Function: play-services-location
Source: https://developers.google.com/android/guides/releases
Author: Google
-
Name: 'org.greenrobot:eventbus:3.1.1'
Function: EventBus is a publish/subscribe event bus optimized for Android.
Source: https://github.com/greenrobot/EventBus
Author: greenrobot
-
Name: 'com.google.android.libraries.places:places:2.0.0'
Function: Play Services Places
Author: Google
-
Name: compileOnly 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
Function: Automatic Resource Management, automatic generation of getters, setters, equals, hashCode and toString, and more.
Source: https://projectlombok.org/setup/gradle
Author: projectlombok.org
declaration
I declare that this work:
upholds the principles of academic integrity, as defined in the University Academic Misconduct Rules; is original, except where collaboration has been authorised in writing by the course convener in the course outline and/or Wattle site; is produced for the purposes of this assessment task and has not been submitted for assessment in any other context, except where authorised in writing by the course convener; gives appropriate acknowledgement of the ideas, scholarship and intellectual property of others insofar as these have been used; in no part involves copying, cheating, collusion, fabrication, plagiarism or recycling.
Signature: Xuning Tan; Xinyue Xu; Nianen Zhu; Zhe Chen
Date: 18/10/2019
















