Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
ndhuu committed Apr 14, 2019
1 parent 4797c93 commit 8536ac3
Show file tree
Hide file tree
Showing 16 changed files with 239 additions and 164 deletions.
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
= Address Book (Level 4)
= VolunCHeer
ifdef::env-github,env-browser[:relfileprefix: docs/]


Expand Down
205 changes: 106 additions & 99 deletions docs/DeveloperGuide.adoc

Large diffs are not rendered by default.

109 changes: 86 additions & 23 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ifdef::env-github[]
:tip-caption: :bulb:
:note-caption: :information_source:
endif::[]
:repoURL: https://github.com/se-edu/addressbook-level4
:repoURL: https://github.com/cs2113-ay1819s2-t08-1/main

By: `CS2113T T08-01` Since: `Feb 2019` Licence: `MIT`

Expand Down Expand Up @@ -121,55 +121,90 @@ p/98765432 ec/Mary, Mother, 92221111 dp/vegetarian m/asthma`
* `addVolunteer n/Sarah Soh y/22 g/female r/chinese rg/buddhist a/betsy ave 6, 02-08 e/[email protected]
p/92345678 ec/Johnny, Husband, 81234568

=== Adding a beneficiary: `addBeneficiary`

// tag::BeneficiaryManagement[]
=== Adding a beneficiary: `addBeneficiary` / `ab`

Adds a beneficiary to the list of Beneficiaries +
Format: `addBeneficiary n/NAME a/ADDRESS e/EMAIL p/PHONE_NUMBER `

****
* "New beneficiary added: Orphanage Phone: 98765432 Email: [email protected] Address: 311, Clementi Ave 2,
#02-25Attached Project List: []" message is prompted upon successfully adding a beneficiary
****

Examples:

* `addBeneficiary n/Orphanage p/98765432 e/[email protected] a/311, Clementi Ave 2, #02-25`

Consideration:
.Add Beneficiary Command Result (pink: input, blue: output)
image::AddBeneficiary.png[]

In the figure above, after the add command, we can observe a new beneficiary card is shown on the GUI.

****
* The beneficiary will be used to assign to a project, this means that the project will benefit this beneficiary,
i.e. Orphanage Home, Nursing home, etc.
i.e. Orphanage Home, Nursing home, etc. +
* When add a new beneficiary, the project lists assigned to it will be empty. You can assign projects to it by assign
command stated below.
command stated.
****

=== Editing a beneficiary: `editBeneficiary`
=== Editing a beneficiary: `editBeneficiary` / `eb`

Edits a beneficiary to the list of Beneficiaries +
Format: `editBeneficiary INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] `

****
* "Edited Beneficiary: Old Folk Home Phone: 91234567 Email: [email protected] Address: 311, Clementi Ave 2,
#02-25Attached Project List: []" message is prompted upon successfully editing a beneficiary
****

Examples:

* `editBeneficiary 1 n/Old Folk Home p/91234567`

Consideration:
.Edit Beneficiary Command Result (pink: input, blue: output)
image::EditBeneficiary.png[]

In the figure, we can see that the WHO information including phone number and email haa changed, compared to the last figure.

****
* When a beneficiary is edited, the data of the beneficiary in its attached projects is in sync, meaning that that data
is automatically updated in the mentioned projects.
****

=== Deleting a beneficiary: `deleteBeneficiary` / `db`

Deletes a beneficiary in the beneficiary pool. +
Format: `deleteBeneficiary i/INDEX -D`

[NOTE]
`-D` is optional.

****
* There are two modes of deletion: *soft delete mode* and *hard delete mode*. +
* In the *soft delete mode*, there is a safe check to help you avoid deleting beneficiary
that has attached projects, leaving the projects unassigned.
* In the *hard delete mode*,
the beneficiary and all its attached projects will be deleted. +
* Default is *soft delete mode*. To switch to *hard delete mode*, include `-D` in your command.
****

Examples:

* `deleteBeneficiary i/1` *soft delete mode*
* `deleteBeneficiary i/1 -D` *hard delete mode*

.Delete Beneficiary Command (Soft Delete Mode) Result (pink: input, blue: output)
image::SoftDelete.png[]

=== Listing all beneficiary: `listBeneficiary`
In Figure 3, we are trying to soft delete a beneficiary which was assigned to project *Run*. Hence, a message appears and informs us
to switch to hard delete mode.

.Delete Beneficiary Command (Hard Delete Mode) Result (pink: input, blue: output)
image::HardDelete.png[]

In Figure 4, the beneficiary and its attached project shave been deleted successfully.

=== Listing all beneficiaries: `listBeneficiary` / `lb`

Shows a list of all Beneficiaries in the beneficiary pool. +
Format: `listBeneficiary`

Consideration:
* The command can be used to get back to full list after several commands changing the list.
[TIP]
The command can be used to get back to full list after several commands changing the list.

=== Locating beneficiaries by name: `findBeneficiary`
=== Locating beneficiaries by name: `findBeneficiary` / `fb`

Finds beneficiaries whose names contain any of the given keywords. +
Format: `findBeneficiary KEYWORD [MORE_KEYWORDS]`
Expand All @@ -188,6 +223,20 @@ Examples:
* `find Nursing` +
Returns `Nursing Home` and `Nursing Center`

=== Summarising all beneficiaries: `summariseBeneficiary` / `sb`

Opens a pop up summary table of beneficiaries. You can use the arrow in header cells *number of Projects*
to sort beneficiaries by the number of attached projects. A table sample is shown below. +

Format: `summariseBeneficiary`

.Beneficiary Summary Table
image::SummaryBeneficiary.png[]

[TIP]
The command can be used to consider future partners or fundraising.
// end::BeneficiaryManagement[]

=== Listing all projects : `listProject`

Shows a list of all projects. +
Expand Down Expand Up @@ -483,6 +532,9 @@ Track attendance of the volunteers and award frequent volunteers with certificat
=== Manage funding and sponsorships `[coming in v2.0]`
Manage funds and sponsors for individual projects and track project spending.

=== Auto-completion of command `[coming in v2.0]`
Quick Auto-completion of command to enhance typing speed

== FAQ

*Q*: How do I transfer my data to another Computer? +
Expand All @@ -496,8 +548,19 @@ e.g. `addProject n/Charity Run d/081219 b/Sunshine Old Folks Home`
m/MEDICAL CONDITION [t/TAG]...` +
e.g. `addVolunteer n/John Doe y/18 a/John street, block 123, #01-01 e/[email protected] p/98765432 g/98292998 r/chinese
d/vegetarian m/asthma`
* *AddBeneficiary* `addBeneficiary n/NAME a/ADDRESS e/EMAIL p/PHONE_NUMBER v/VOLUNTEERS_REQUIRED [t/TAG]...` +
e.g. `addBeneficiary n/Sunshine Old Folks Home a/sunshine ave 5 e/[email protected] p/67580392 v/20`

* *AddBeneficiary* `addBeneficiary n/NAME a/ADDRESS e/EMAIL p/PHONE_NUMBER` +
e.g. `addBeneficiary n/Orphanage p/98765432 e/[email protected] a/311, Clementi Ave 2, #02-25`
* *EditBeneficiary* `editBeneficiary INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS]` +
e.g. `editBeneficiary 1 n/Old Folk Home p/91234567`
* *DeleteBeneficiary* `deleteBeneficiary i/INDEX -D`
e.g. `deleteBeneficiary i/1 -D`
* *ListBeneficiary* `listBeneficiary`
* *FindBeneficiary* `findBeneficiary KEYWORD`
e.g. `findBeneficiary Old`
* *SummariseBeneficiary* `summariseBeneficiary`


* *List* : `list`
* *EditProject* `editProject PROJECT_NAME [n/NAME] [d/DATE] [b/BENEFICIARY] [t/TAG]...` +
e.g. `editProject Charity Run d/010319`
Expand Down
Binary file added docs/images/AddBeneficiary.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/EditBeneficiary.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/FindBeneficiary.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/HardDelete.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/SoftDelete.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/SummaryBeneficiary.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
75 changes: 40 additions & 35 deletions docs/team/Huu.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,22 @@
== PROJECT: AddressBook - Level 4

---
=== Introduction

The purpose of this portfolio is to document and demonstrate my contribution to the project namely VolunCHeer.
The project was carried out in AY 18/19 Sem 2 in NUS and was contribute by a team of four including myself.

== Overview

VolunCHeer is an open-source desktop management application for Volunteer Managers to manage various projects,
beneficiaries and volunteers.
This project portfolio page serves to document my contributions to the VolunCHeer project.

VolunCHeer is an open-sourced Command Line Interface (CLI) management application designed for Volunteering Project Managers.
We aim to help our target users alleviate the haystack of managing multiple projects, beneficiaries, and volunteers
in an efficient and effective manner.

Team T08-1 consists of Zhao Jun Ru, Wong Kai Wen Jeremy, Liow Zhu Hui and myself.

The user interacts with VolunCHeer using a command-line interface, and has a GUI created with JavaFX. VolunCHeer is written
in Java, and has about 10 kLoC.

VolunCHeer's codebase draws from https://se-edu.github.io/[SE-EDU]'s AddressBook Level 4.


== Terminology
* Volunteer: The volunteers who participate in volunteer organization such as NUS Community Service Club, NUS Vietnamese
Expand All @@ -25,13 +32,12 @@ Orphanage.

* Project: Projects that are set for volunteers to participate and help the beneficiary.

* Volunteer Manager: The one who manages the arrangement of projects, assign volunteers and contact and associate
beneficiaries with projects. In this project portfolio, the Volunteer manager will be referred as the user.
* Volunteering Project Manager: The one who manages the arrangement of projects, assign volunteers and contact and associate
beneficiaries with projects. In this project portfolio, the Volunteering Project Manager is mentioned as the user.

== Role
I am the Lead Developer, ensuring the application are as free of bugs as possible, especially in the early stage
where test files are not updated. I am also the adviser for implementation of commands and bug fixes. I also handle
damage control when problems arise.
I am the Lead Developer, who ensure the application is bug free, or report bugs and assign developers to fix them.
I am also the adviser for implementation of commands and bug fixes.

== Summary of contributions

Expand All @@ -44,45 +50,45 @@ damage control when problems arise.
*** list beneficiaries: to list all beneficiary records.
*** summarise beneficiaries' data: to enable the user to see most active beneficiary based on attached project list.

** Justification: The beneficiary management feature allows the dynamic of tracking beneficiary records for the
volunteer manager to revise, reuse every time a project initiation process starts, because it is likely that the
volunteer manager will have projects related to previous beneficiary and the application creates a good starting point
and efficiently save time in terms of searching beneficiary's details. Moreover, it also allows the volunteer manager
to do consideration on which beneficiary to come for in terms of funding based on the activeness measurement of
beneficiaries.
** Justification: This feature improve the product significantly because:
*** The beneficiary management feature allows the dynamic of tracking beneficiary records for the
user to revise, and reuse every time a project initiation process starts with a known beneficiary.
*** The feature efficiently saves time in terms of searching beneficiaries's details and navigate through beneficiary records.
*** Moreover, it also allows the user to do consideration on which beneficiary to come for in terms of funding
based on the activeness measurement of beneficiaries.

** Highlights: This enhancement affects existing commands, data structure and commands to be added in future. It
requires in-depth analysis of implementation alternatives. The implementation too was challenging as it required changes
to existing commands and it involves the synchronization with related Projects and storage files.
** Highlights: This enhancement affects the existing commands such as Undo and Redo Command. It also requires the analysis
of resources we have in term of time and performance of algorithm in the context of VolunCHeer. Moreover, it requires challengingly
synchronization with related Projects and storage files. The summary table also requires adaptation of Ui components and learning
of JavaFX.

** Credits: The implementation of the order list is based on the code written for the person list in the Address Book
Level 4 made by SE-EDU initiative.

* *Major enhancement*: updated "Storage Management"
** What it does: Storage is ensured to capture any change the user chooses to make in the application and to reflect
* *Minor enhancement*: updated Storage Management https://github.com/cs2113-ay1819s2-t08-1/main/pull/55[#55]
** What it does: Storage is ensured to capture any change the user makes in the application reflects
them in the storage file. When the user reopens the application, these changes are correctly viewed or if the data is
corrupted, the application will prompt the user.
corrupted, such as duplicated data or two beneficiaries have the same attached project, the application will prompt the user.

** Justification: The data storage is important because the main purpose of the application is to reserve these data.
Hence, storage management is essential for the application to work properly and serve its purposes.

** Highlights: This enhancement is quite challenging as correlation between projects and beneficiaries, and projects and
volunteers requires the checking of corruption in storage files (ie. duplication of a project assigning to multiple
beneficiary).

* *Minor enhancement*: quality control of synchronization of assigning beneficiary to project
https://github.com/cs2113-ay1819s2-t08-1/main[#61]
https://github.com/cs2113-ay1819s2-t08-1/main/issues/61[#61]
https://github.com/cs2113-ay1819s2-t08-1/main/issues/125[#125]

* *Minor enhancement*: UI update up to version 1.3
https://github.com/cs2113-ay1819s2-t08-1/main[#43]
https://github.com/cs2113-ay1819s2-t08-1/main/issues/43[#43]
https://github.com/cs2113-ay1819s2-t08-1/main/issues/67[#67]

* *Minor enhancement*: Bug reports and fixed
https://github.com/cs2113-ay1819s2-t08-1/main[#43]
https://github.com/cs2113-ay1819s2-t08-1/main/issues/67[#67]
https://github.com/cs2113-ay1819s2-t08-1/main/pull/72[#72]



* *Code contributed*: My code contribution can be viewed
[https://nuscs2113-ay1819s2.github.io/dashboard-beta/#search=huu&sort=displayName&since=2019-02-10&until=2019-04-01&timeframe=day&reverse=false&groupSelect=groupByRepos&breakdown=false[here]]
https://nuscs2113-ay1819s2.github.io/dashboard-beta/#search=huu&sort=displayName&since=2019-02-10&until=2019-04-01&timeframe=day&reverse=false&groupSelect=groupByRepos&breakdown=false[here]


* *Other contributions*:
Expand All @@ -102,16 +108,15 @@ https://github.com/cs2113-ay1819s2-t08-1/main[#43]
|_Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users._
|===

include::../UserGuide.adoc[tag=addBeneficiary]
include::../UserGuide.adoc[tag=BeneficiaryManagement]

include::../UserGuide.adoc[tag=editBeneficiary]

== Contributions to the Developer Guide

|===
|_Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project._
|===

include::../DeveloperGuide.adoc[tag=undoredo]
include::../DeveloperGuide.adoc[tag=BeneficiaryManagement]

include::../DeveloperGuide.adoc[tag=dataencryption]
include::../DeveloperGuide.adoc[tag=BenefUseCases]
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
public class AddBeneficiaryCommand extends Command {

public static final String COMMAND_WORD = "addB";
public static final String COMMAND_WORD = "addBeneficiary";
public static final String COMMAND_WORD_ALIAS = "ab";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a beneficiary to the address book. "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
*/
public class DeleteBeneficiaryCommand extends Command {

public static final String COMMAND_WORD = "deleteB";
public static final String COMMAND_WORD = "deleteBeneficiary";
public static final String COMMAND_WORD_ALIAS = "db";

public static final String MESSAGE_USAGE = COMMAND_WORD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
*/
public class EditBeneficiaryCommand extends Command {

public static final String COMMAND_WORD = "editB";
public static final String COMMAND_WORD = "editBeneficiary";
public static final String COMMAND_WORD_ALIAS = "eb";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits the details of the beneficiary identified "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
public class FindBeneficiaryCommand extends Command {

public static final String COMMAND_WORD = "findB";
public static final String COMMAND_WORD = "findBeneficiary";
public static final String COMMAND_WORD_ALIAS = "fb";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all beneficiaries whose names contain any of "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*/
public class ListBeneficiaryCommand extends Command {

public static final String COMMAND_WORD = "listB";
public static final String COMMAND_WORD = "listBeneficiary";
public static final String COMMAND_WORD_ALIAS = "lb";

public static final String MESSAGE_SUCCESS = "Listed all beneficiaries";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
*/
public class SummaryBeneficiaryCommand extends Command {

public static final String COMMAND_WORD = "summariseB";
public static final String COMMAND_WORD = "summariseBeneficiary";
public static final String COMMAND_WORD_ALIAS = "sb";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Summary statistics details of beneficiary list "
Expand Down

0 comments on commit 8536ac3

Please sign in to comment.