Overview
VolunCheer is a desktop application for project managers who wish to keep track of their ongoing / upcoming projects as well as their beneficiary and volunteer pool.
Summary of contributions
-
Major enhancement: implemented the
Projectclass whereby it creates a newProjectobject to the VolunCHeer application-
What it does: the
Projectclass is implemented with relevant functions that ties the Beneficiary pool and Volunteer pool together -
Features involved: the relevant features include basic functions such as
addProject,deleteProjectandlistProject. The added features are thecompletefeature and theassignfeature which will be elaborated in further details. -
Justification: The Project class forms the basis of the VolunCHeer application whereby the aim is to manage and organise projects better and save users form the hustle of paper works.
-
Highlights: The methods implemented involves interactions between the 3 objects namely
ProjectBeneficiaryandVolunteer. It provides user with the ability to add and deleteProjects, assign the specificBeneficiaryand a list ofVolunteerstoProjectof interest as well as setting projects status as complete to keep track of ongoing and completedProjects. -
Explanation of features implemented
-
Assign Beneficiary feature allows the user to assign a existing
Beneficiaryto theProjectselected-
Justification: A
Beneficiaryis usually attached to aProjectand the beneficiary details are very important and usually tracked in a separate document / file. Thus we decide to keep Beneficiary information as a separate list and assigned to the project when required such that it can be managed separately. -
Highlights: This enhancement requires data from both the project list as well as the beneficiary list, there was thus some difficulty trying to implement the command. Many adjustments had to be made to keep the project class and beneficiary class independent and yet synchronised.
-
-
Assign Volunteer feature allows the user to assign a Required number of
Volunteersto theProjectselected-
Justification: Projects usually require varying number of volunteers, we thus decide to make it flexible by allowing user to key in the required number themselves. Furthermore, should there be any requirement for the
Volunteersthey can filter theVolunteerlist with ourMap CommandandSortfunction.
-
-
Complete project allows the user to mark a project as completed in the project list this is indicated by a colour change - to red for the project title.
-
Justification: This is thought to be a useful feature as project managers would want to keep track of what are the ongoing projects while still have a copy of their completed projects.
-
Highlights: This enhancement indicates a change of status of the specified
project, it is a simple yet useful feature for the user.
-
-
-
-
Minor enhancement: ListProject and DeleteProject commands are inherited from addressBook and successfully implemented on the project class.
-
Other contributions:
-
Project management:
-
Documentation:
-
Did the UserGuide for v1.1: #6
-
Subsequent updates of documents on individual features.
-
-
Tools:
-
Integrated Ruby + asciidoctor for pdf releases of documentations as well as easy editing of adoc.
-
-
Contributions to the User Guide
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. |
Project Management
Adding a project: addProject / ap
One of the first things to do when you use the app is to start adding projects to track, and this is the command to use.
Format: addProject n/PROJECT_NAME d/DATE
Now let us look at what happens when the command addProject p/Old Folk Home Visit d/25/05/2019 is entered on screen.
addProject p/Old Folk Home Visit d/25/05/2019 is executed.Deleting a project : deleteProject / dp
When a project is completed or cancelled, VolunCHeer allows you to easily delete it by stating
the project order in the list.
Format: deleteProject INDEX
This is how the project list changes upon execution.
deleteProject 3 command is executed.Listing all projects : listProject / lp
When you want to take a look at all your projects, this command helps you do so.
Format: listProject
Assigning a Beneficiary to Project: assignB
Projects are generally associated with certain beneficiaries. VolunCHeer allows you to attach them easily with this command.
It assigns the Beneficiary at the provided INDEX to the Project with ProjectTitle indicated.
Format: assignBeneficiary p/PROJECT_TITLE i/INDEX
The index must be a positive integer 1, 2, 3, …
|
After assigning a beneficiary, the project will have its data updated as seen below.
assignB p/Old Folks Home Visit i/1 command executed| Use listBeneficiary to view a full list of Beneficiary to assign. Use summaryBeneficiary command to view the Projects attached to each Beneficiary. |
Assigning one or more Volunteers to Project: assignV
We also provide an easy method to assign a specific number of volunteers to the indicated Project
Format: assignVolunteer p/PROJECT_TITLE rv/REQUIRED_NUMBER_OF_VOLUNTEERS
| The number of volunteers assigned to the Project can be seen under the Project card as shown below. |
assignV p/Old Folks Home Visit rv/2 is executed.| Use the commands listed in [map] to filter out the desired list of volunteers. |
Mark project as complete: 'complete'
Once a project is done, you can mark it as complete to distinguish it from your other projects.
Simply provide an INDEX to indicate which project you would like to complete.
Format: complete i/INDEX
complete i/1 command is executed| Once marked as complete, project title will be displayed in red colour font |