By: Team W16-2 Since: Sept 2018 Licence: MIT

1. Introduction

Non-profit organizations rely on volunteer work to maintain parts of their operations. A volunteer management system is essential in helping to retain volunteers by ensuring that there is a large enough pool of volunteers who are motivated to support the various events. Therefore, it is critical that a organization is able to source the right person for the right activity.

SocialCare is an application that is designed to help your organization manage your volunteers effectively. You will be able to:

  • Manage volunteer information such as contact details.

  • Manage events for your organization.

  • Create volunteering records for your volunteers.

Interested? Jump to Section 2, “Quick Start” to get started.

Enjoy!

2. Quick Start

This section contains information on how you can run SocialCare on your desktop.

To begin, follow the steps below:

  1. Check that you have Java version 9 or later installed in your Computer.

  2. Download the latest socialcare.jar here.

  3. Copy the file to the folder you want to use as the home folder for SocialCare.

  4. Double-click the file to start the app. The Graphical User Interface (GUI) should appear in a few seconds.

UiLabelled
Figure 1. A labelled screenshot of the parts of the application

The figure above shows the typical arrangement of the parts of the application. It is currently showing the screen that users will see upon startup.

  1. Toolbar: Provides quick access to exit the application or to open the user guide.

  2. Panel: Displays volunteers or events, depending on which item you are managing.

  3. Display Box: Shows more information for the selected item from the panel.

  4. Command Box: Allows you to input commands for execution.

  5. Command Result Box: Displays status of executed commands.

  6. Status Bar: Provides further information of application.

To ensure that everything is running, you can try entering commands into the command box and press Enter to execute them.
e.g. typing help and pressing Enter will open the help window.

SocialCare allows you to manage both volunteers and events. The panel will update to show the relevant items. See Section 3.1.7, “Switching panels: switch for more details.

You can refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.

  • Items in square brackets are optional e.g [n/NAME].

  • Items with ​ after them can be used multiple times including zero times e.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/charity, t/charity t/help etc.

  • Parameters can be in any order e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.

3.1. General Commands

3.1.1. Viewing help : help

Opens a new window which shows the user guide.

Format: help

Example(s):

  • help
    A new window appears which displays the user guide.

3.1.2. Listing entered commands : history

Lists all the commands that you have entered in reverse chronological order.

Format: history

Pressing the and arrows will display the previous and next input respectively in the command box.

Example(s):

  • history
    The command result box will display the commands that you have entered in reverse chronological order.

3.1.3. Undoing previous command : undo

Restores the system to the state before the previous undoable command was executed.

Format: undo

Undoable commands: those commands that modify the system’s content (add, edit, and delete).

Example(s):

  • delete 1
    list
    undo (reverses the delete 1 command)

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)

3.1.4. Redoing the previously undone command : redo

Reverses the most recent undo command.

Format: redo

Example(s):

  • delete 1
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)

  • delete 1
    redo
    The redo command fails as there are no undo commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)
    redo (reapplies the clear command)

3.1.5. Clearing all entries : clear

Clears all data from the application.

Format: clear

Example(s):

  • clear
    Resets the application to a clean state. The panel is also updated to reflect the changes.

clear bef
Figure 2. Before clearing entries
clear aft
Figure 3. After clearing entries

The figures above shows the before and after state of clearing the entries of the application.

3.1.6. Exiting the application : exit

Exits the application.

Format: exit

Example(s):

  • exit
    Exits from the application and return to the user’s desktop.

3.1.7. Switching panels: switch

Switches the panel to display either volunteers or events

Format: switch -CONTEXT_ID

  • The application will always display the 'volunteer' panel upon startup.

  • This command allows you to switch the panel between two distinct entities: 'volunteers' and 'events'.

  • CONTEXT_ID for events is 'e'.

  • CONTEXT_ID for volunteers is 'v'.

Example(s):

  • switch -e
    Updates the panel displaying the list of volunteers to display the list of events.
    The following figure shows the expected panel before and after entering the switch command.

switch
Figure 4. Panel display changing from list of volunteers to list of events

3.1.8. Viewing overview: overview

Display box displays statistical overview of volunteers and events, such as number of events and volunteer distribution.

Format: overview

This command only works when managing volunteers or events. The command does not work when manging volunteering records.

Example(s):

  • overview
    Display box displays statistics of number of types of events and volunteer distribution.
    The following figure shows the expected display after executing the overview command.

overview
Figure 5. Overview of events and volunteers

3.2. Volunteer Management

3.2.1. Registering new volunteer: add

Adds a volunteer to the system when in the volunteers context
Format: add n/NAME g/GENDER b/BIRTHDAY p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​

  • Birthday is in the 'DD-MM-YYYY format'.

  • VolunteerId (NRIC) can be in either lowercase or uppercase.

  • A volunteer can have any number of tags (including 0).

Example(s):

add command
Figure 6. Before adding a volunteer

The figure above shows how the panel looks like before executing the commands below.

  • `add n/John Doe ic/S9531080R g/m b/05-08-1995 p/87183749 e/John@gmail.com a/Yishun Block 62 `

    Adds a volunteer with the following properties:

    Property Value

    Name

    John Doe

    NRIC

    S9531080R

    Gender

    m (Male)

    Birthday

    05-08-1995

    Phone

    87183749

    Email

    John@gmail.com

    Address

    Yishun Block 62

    add command
    Figure 7. Output of add
  • add n/Betty Sue ic/S9567432B g/f b/31-12-1995 p/81749272 e/Betty@gmail.com a/Ang Mo Kio Block 62 t/Longtime t/Helpful

    Adds a volunteer with the following properties:

    Property Value

    Name

    Betty Sue

    NRIC

    S9567432B

    Gender

    f (Female)

    Birthday

    31-12-1995

    Phone

    81749272

    Email

    Betty@gmail.com

    Address

    Ang Mo Kio Block 62

    Tags

    Longtime, Helpful

    add command
    Figure 8. Output of add

3.2.2. Listing all volunteers : list

Lists all volunteers in the system when in the volunteers context.
Format: list

The figure below shows the expected panel after executing the list command.

list command
Figure 9. Output of list

3.2.3. Editing volunteers details : edit

Edit details of an existing volunteer in the system when in the volunteers context.
Format: edit VOLUNTEER_INDEX [n/NAME] [g/GENDER] [b/BIRTHDAY] [p/PHONE_NUMBER] [a/ADDRESS] [e/EMAIL] [a/ADDRESS] [t/TAG]…​

  • Edits the volunteer at the specified INDEX. The index refers to the index number shown in the displayed volunteer list. The index must be a positive integer 1, 2, 3, …​

  • At least one of the optional fields must be provided.

  • Editing of VolunteerId (NRIC) is not allowed.

  • Existing values will be updated to the input values.

  • When editing tags, the existing tags of the volunteer will be removed i.e adding of tags is not cumulative.

  • You can remove all the volunteer’s tags by typing t/ without specifying any tags after it.

Example(s):

  • edit 1 n/John Doe
    Edits the name of the volunteer at index 1

The figures below show the before and after results of an edit command.

After edit
Figure 10. The targeted volunteer is updated to reflect the new values after entering the edit command

3.2.4. Deleting volunteer details : delete

Deletes details of an existing volunteer in the system when in the volunteer context.
Format: delete VOLUNTEER_INDEX

Example(s):

  • delete 1
    Deletes the details of the volunteer specified at index 1

The figures below show the before and after results of a delete command.

After delete
Figure 11. The targeted volunteer at index 1 is deleted after entering the delete command

3.2.5. Exporting volunteer certificate : exportcert

Exports a PDF document to the user’s current working directory detailing a volunteer’s involvement with the organisation. This document includes:

  • Title: 'Certificate of Recognition'

  • Date of export

  • Volunteer name

  • Volunteer NRIC

  • List of events involved in - Event name, event ID, hours contributed, event start date and event end date

  • Total hours contributed across all events

Format: exportcert VOLUNTEER_INDEX

  • Exports a PDF certificate for the volunteer at the specified VOLUNTEER INDEX

  • VOLUNTEER INDEX must be a positive integer 1, 2, 3, …​

  • If the index given exceeds the number of volunteers in the displayed volunteer list, the message 'The volunteer index provided is invalid.' will be shown.

A certificate will be exported only if the volunteer has event records and at least 1 record has a positive, non-zero hour value.

Example:

  • exportcert 1
    Exports a PDF certificate for the volunteer at index 1 to the user’s current working directory. A success message will also be displayed in the following form: 'Certificate exported for volunteer at INDEX 1 to <EXPORT PATH>'.

Where will my files be exported to?

If SocialCare has the permission to create folders on your machine, the certificates will be exported to a folder named 'Certs'. Else, they can be found next to the .jar file used to run the application.

Here is what the exported certificate will look like: (Note that the number within the square brackets [ ] following the event name corresponds to the event ID)

CurrentVolunteerCert
Figure 12. Sample exported volunteer certificate

An empty line is provided at the end of the certificate for manual signing off. Feel free to add a signature or an organizational stamp to add credibility to the certificate!

To avoid exported file name clashes for volunteers with the same name, we have appended the volunteer’s NRIC to the filename as well. Exported file names will have the format '<VOLUNTEER NAME>_<VOLUNTEER NRIC>.pdf' (E.g. John Doe_S8512345A.pdf)

You can refer to the following flowchart to better understand the feedback messages displayed by the application, and derive what your subsequent actions should be. (E.g. If you get the message "The volunteer index provided is invalid.", then try replacing the <INDEX> you had input.)

command exportcert ad
Figure 13. exportcert command flowchart

3.3. Event Management

The following commands can only be accessed after switching to the 'event' panel. (see Section 3.1.7, “Switching panels: switch)

3.3.1. Adding new event: add

Adds an event to the system.

Format: add n/NAME l/LOCATION sd/START_DATE ed/END_DATE st/START_TIME et/END_TIME d/DESCRIPTION [t/TAG]…​

  • Start date and end date must be in 'DD-MM-YYYY format'.

  • Start time and end time must be in 'HH:MM format'.

  • An event can have any number of tags (including 0).

Example(s):

The figure below shows how the panel looks like before executing the example(s) below.

add command
Figure 14. Panel before adding an event
  • add n/Flag Day l/Yishun MRT sd/31-10-2018 ed/31-10-2018 st/09:00 et/15:00 d/For the children’s home

    Adds an event with the properties specified in the command above. The expected result is shown in the figure below.

    add command
    Figure 15. Result of add n/Flag Day l/Yishun MRT sd/31-10-2018 ed/31-10-2018 st/09:00 et/15:00 d/For the children’s home
  • add n/Fundraising l/Tampines Street 31 sd/15-11-2018 ed/17-11-2018 st/13:00 et/18:00 d/Raising funds t/fundraiser t/charity

    Adds an event with the properties specified in the command above. The expected result is shown in the figure below.

    add command
    Figure 16. Result of add n/Fundraising l/Tampines Street 31 sd/15-11-2018 ed/17-11-2018 st/13:00 et/18:00 d/Raising funds t/fundraiser t/charity

3.3.2. Listing all events : list

Lists all events in the system and display them in the panel.

Format: list
Displays all existing events in the system in the panel.
The figure below shows a panel displaying all existing events after executing the list command.

list command
Figure 17. Output of list

3.3.3. Editing event details : edit

Edit details of an existing event in the system when in the 'event' context.

Format: edit EVENT_INDEX [n/NAME] [l/LOCATION] [sd/START_DATE] [ed/END_DATE] [st/START_TIME] [et/END_TIME] [d/DESCRIPTION] [t/TAG]…​

  • Edits the event at the specified EVENT_INDEX. The index refers to the index number shown in the displayed event list. The index must be a positive integer 1, 2, 3, …​

  • At least one of the optional fields must be provided.

  • Existing values will be updated to the input values.

  • When editing tags, the existing tags of the event will be removed i.e adding of tags is not cumulative.

  • You can remove all the event’s tags by typing t/ without specifying any tags after it.

Example(s):

The figure below indicates the EVENT_INDEX and shows how the panel looks like before executing the example(s) below.

add command
Figure 18. Panel before editing an event, EVENT_INDEX is indicated in the circles
  • edit 1 n/Charity Fun Run t/
    Edits the name of event at index 1 and removes all tags. The expected result is shown in the figure below.

    Before edit
    Figure 19. Result of edit 1 n/Charity Fun Run t/

3.3.4. Deleting event: delete

Deletes an existing event in the system when in the 'event' context.

Format: delete EVENT_INDEX

Example(s):

The figure below indicates the EVENT_INDEX and shows how the panel looks like before executing the example(s) below.

add command
Figure 20. Panel before deleting an event, EVENT_INDEX is indicated in the circles
  • delete 3
    Deletes the event specified at index 3. The expected result is shown in the figure below.

    Before delete
    Figure 21. Result of delete 3

3.4. Record Management

This section contains commands related to managing a volunteering record.

  • The manage command can only be accessed after switching to the 'event' panel. (see Section 3.1.7, “Switching panels: switch)

  • The other commands under this section can only be accessed after executing the manage command.

3.4.1. Viewing event’s volunteer records: manage

The panel updates to show the list of volunteers while the display area shows the volunteers currently registered for the selected event.

Format: manage EVENT_INDEX

Example(s):

  • switch -e (panel updates to show list of events)
    manage 1 (view the list of volunteers assigned to the event at index 1)
    See the figures below for a step-by-step guide.

switch execution
Figure 22. Execute switch -e
switch execution
Figure 23. manage 1 targets the event at index 1
manage
Figure 24. Labelled screenshot of what to expect after executing manage 1

Refer to the labelled sections in the figure above for the following changes:

  1. The panel displays the list of volunteers that you can assign to an event.

  2. Name of the event being managed and total number of volunteers assigned to it.

  3. The list of volunteers currently assigned to the event. It will be empty if there are no volunteers assigned.

3.4.2. Adding volunteer to event: add

Adds a volunteer to the event that is currently being managed.
Refer to Section 3.4.1, “Viewing event’s volunteer records: manage on how to manage events.

Format: add VOLUNTEER_INDEX [h/HOURS] [r/REMARKS]

  • VOLUNTEER_INDEX comes from the list of all volunteers shown in the panel.

  • Default value for HOURS is '0'.

  • Default value for REMARKS is '-'.

Example(s):

The following examples are entered after executing the following commands:
1. switch -e (update panel to display events)
2. manage 1 (manage the event at index 1 in the panel. See figure below for expected screen)
add command
Figure 25. After executing manage 1
  • add 1
    Adds a volunteer at index 1 to the event with 0 hours.
    Expected display box is shown in the figure below.

add command
Figure 26. Output of add 1
  • add 1 h/5 r/Driver
    Adds a volunteer at index 1 to the event with 5 hours and remarks of 'Driver'.
    Expected display box is shown in the figure below.

add command
Figure 27. Output of add 1 h/5 r/Driver

3.4.3. Updating volunteer record: edit

Updates a volunteer record in the event that is currently being managed.
Refer to Section 3.4.1, “Viewing event’s volunteer records: manage on how to manage events.

Format: edit VOLUNTEER_INDEX h/HOURS [r/REMARKS]

  • VOLUNTEER_INDEX comes from the volunteers currently registered for the event.

  • Just entering r/ will save the remarks with the default value of '-'.

The figure below shows the highlighted column that indicates the VOLUNTEER_INDEX that you have to enter.
This display can be seen after executing the manage command.

volunteer index
Figure 28. Display after excuting manage

Example(s):

  • edit 2 h/5 r/Emcee
    Updates amount of hours volunteered for volunteer at index 3 to 5 hours with remarks of 'Emcee'.
    The figures below show the display box before and after editing a record.

edit command
Figure 29. Before updating the volunteer record
edit command
Figure 30. Output of edit 2 h/5 r/Emcee

3.4.4. Deleting volunteer record from event: delete

Deletes the volunteer record from the event that is currently being managed.
Refer to Section 3.4.1, “Viewing event’s volunteer records: manage on how to manage events.

Format: delete VOLUNTEER_INDEX

VOLUNTEER_INDEX comes from the table view of existing volunteers.

The figure below shows the highlighted column that indicates the VOLUNTEER_INDEX that you have to enter.
This display can be seen after executing the manage command.

volunteer index
Figure 31. The VOLUNTEER_INDEX

Example(s):

  • delete 1
    Deletes the volunteer record at index 1.
    The figures below show the display box before and after deleting a record.

delete command
Figure 32. Before deleting the volunteer record
delete command
Figure 33. Output of delete 1

3.5. Miscellaneous

3.5.1. Saving data

SocialCare data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

4. Commands Summary

This section contains a summary of the commands available.

4.2. Volunteer Management

Command Format Example Section Link

Add

add n/NAME ic/NRIC g/GENDER b/BIRTHDAY p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​

add n/John Doe ic/S1234567A g/m b/05-08-1995 p/87183749 e/John@gmail.com a/Yishun Block 62

Section 3.2.1, “Registering new volunteer: add

Delete

delete VOLUNTEER_INDEX

delete 3

Section 3.2.4, “Deleting volunteer details : delete

Edit

edit VOLUNTEER_INDEX [n/NAME][b/BIRTHDAY] [g/GENDER] [a/ADDRESS] [e/EMAIL] [p/PHONE_NUMBER] [t/TAG]…​

edit 2 n/James Lee e/jameslee@example.com

Section 3.2.3, “Editing volunteers details : edit

Export Certificate

exportcert VOLUNTEER_INDEX

exportcert 2

Section 3.2.5, “Exporting volunteer certificate : exportcert

List

list

list

Section 3.2.2, “Listing all volunteers : list

4.3. Event Management

Command Format Example Section Link

Add

add n/NAME l/LOCATION sd/START_DATE ed/END_DATE d/DESCRIPTION [t/TAG]…​

add n/Fundraising l/Tampines S sd/31-09-2018 ed/31-09-2018 st/13:00 et/18:00 d/Raising funds t/fundraiser t/charity

Section 3.3.1, “Adding new event: add

Delete

delete EVENT_INDEX

delete 3

Section 3.3.4, “Deleting event: delete

Edit

edit EVENT_INDEX [n/NAME] [l/LOCATION] [sd/START_DATE] [ed/END_DATE] [d/DESCRIPTION] [t/TAG]…​

edit 2 n/Fundraiser

Section 3.3.3, “Editing event details : edit

List

list

list

Section 3.3.2, “Listing all events : list

4.4. Record Management

Command Format Example Section Link

Add

add VOLUNTEER_INDEX [h/HOURS] [r/REMARKS]

add 1 h/1

Section 3.4.2, “Adding volunteer to event: add

Delete

delete VOLUNTEER_INDEX

delete 1

Section 3.4.4, “Deleting volunteer record from event: delete

Edit

edit VOLUNTEER_INDEX h/HOURS [VOLUNTEER_INDEX]

edit 1 h/8

Section 3.4.3, “Updating volunteer record: edit

Manage

manage EVENT_INDEX

manage 1

Section 3.4.1, “Viewing event’s volunteer records: manage

5. Glossary

Term Explanation

GUI

Graphical User Interface.

6. FAQ

Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous SocialCare folder.