diff --git a/docs/AboutUs.md b/docs/AboutUs.md index aa2669df96d..c1471a80d20 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -27,14 +27,14 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` * Role: Testing -### Johnny Doe +### Sia Zhi Hong - + -[[github](http://github.com/johndoe)] [[portfolio](team/johndoe.md)] +[[github](http://github.com/h1410101)] +[[portfolio](team/h1410101.md)] -* Role: Developer -* Responsibilities: Data +* Role: Integration ### Jean Doe diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 81725c21cde..16b0936b296 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -268,9 +268,15 @@ _{Explain here how the data archiving feature will be implemented}_ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*` -| Priority | As a …​ | I want to …​ | So that I can…​ | -| -------- |--------------------------------------------|---------------------------------------------------------------------------|------------------------------------------------------------------------| -| `* * *` | administrative staff | delete a fosterer from the list when they want to stop fostering with us | update the list to see the fosterers who are currently in our program | +| Priority | As a … | I want to … | So that I can… | +| -------- |-------------------------------------------|--------------------------------------------------------------------------|-----------------------------------------------------------------------| +| `* * *` | administrative staff | delete a fosterer from the list when they want to stop fostering with us | update the list to see the fosterers who are currently in our program | +| `* * *` | administrative staff | add each foster family's details efficiently | allow my colleagues who are conducting home visits to view these information without any inconvenience | +| `* * *` | administrative staff | provide details of the fostered animal of concern to the fosterer | ensure that the animal is well taken care by informing the fosterer of existing health conditionsto prepare for | +| `* * *` | administrative staff | update each foster family’s and animal’s details | keep track of foster family’s most up-to-date information, including updated information of the animal fostered | +| `* * *` | administrative staff | allocate volunteers to each foster family | keep track of who is in charge of checking the pet’s condition for each foster family and send help if needed | +| `* * *` | administrative staff | search for a specific animal / fosterer’s detail | find specific fosterers or animals more easily, given only partial information | +| `* * *` | administrative staff | filter and sort the animals in the database by any criteria | easily view the animals that suit specific fosterer’s accommodation capabilities and prioritise the animals more in need | *{More to be added}* @@ -294,7 +300,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli * 2a. System detects an error in the entered command, usually a formatting error. * 2a1. System requests for data to be inputted in the correct format, with the correct format displayed as guidance. * 2a2. User enters new command. - + Steps 2a1 and 2a2 are repeated until the data entered is in the correct format. Use case resumes at step 3. @@ -304,11 +310,11 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli **MSS** -1. User enters the edit command with the index corresponding to the foster family shown in the list. -2. System generates a pop-up window with the details of the foster family. -3. User inputs a new detail onto the corresponding field. -4. User enters the save edit command. -5. System updates the target foster family’s details in the database. +1. User enters the edit command with the index corresponding to the foster family shown in the list. +2. System generates a pop-up window with the details of the foster family. +3. User inputs a new detail onto the corresponding field. +4. User enters the save edit command. +5. System updates the target foster family’s details in the database. 6. System directs the user to the initial Command-Line UI. Use case ends. @@ -327,7 +333,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli **MSS** -1. User enters the list command as text. +1. User enters the list command as text. 2. System shows list of fosterers matching query string. Use case ends. diff --git a/docs/UserGuide.md b/docs/UserGuide.md index fef24462f01..c5fd909b960 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -108,11 +108,6 @@ Expected output (fail): ```agsl Oops! There seems to be an error, please check the format of your command again. ``` -### Listing all persons : `list` - -Shows a list of all persons in the address book. - -Format: `list` ### Editing a person : `edit` @@ -131,23 +126,36 @@ Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. * `edit 2 n/Betsy Crower t/` Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags. -### Locating persons by name: `find` +### Listing fosterers: `list` -Finds persons whose names contain any of the given keywords. +Lists fosterers that match a particular description or search, or all fosterers if the search is blank. -Format: `find KEYWORD [MORE_KEYWORDS]` +Format: `list *KEYWORDS` +Alias: `find` -* The search is case-insensitive. e.g `hans` will match `Hans` -* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans` -* Only the name is searched. -* Only full words will be matched e.g. `Han` will not match `Hans` -* Persons matching at least one keyword will be returned (i.e. `OR` search). - e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` +* The keywords are case-insensitive. +* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`. +* All fields are searched (including tags). +* Keywords can match as parts of words. e.g. `john` will match `Johnny`. +* Keywords can overlap. e.g. `samm my` will match `Sammy` +* Fosters must match all keywords (i.e. `AND` search). + e.g. `Hans Bo` will return `Hansbo Grahm`, but not `Hans Duo` Examples: -* `find John` returns `john` and `John Doe` -* `find alex david` returns `Alex Yeoh`, `David Li`
- ![result for 'find alex david'](images/findAlexDavidResult.png) +* `list` lists all fosterers in the address book +* `list john doe` matches "John Doe", "Doe John", "Johnny Doe", and "Mary" who lives on "John Doe Street" +* `list john john doe` is redundant and gives the same result as `list john doe` + +Expected output (success): +```agsl +Fosterers matching query are listed. +``` +UI also updates with a list of fosterers matching the query. + +Expected output (fail): +```agsl +Oops! Invalid search expression, please check again. +``` ### Deleting a fosterer : `delete` @@ -220,12 +228,12 @@ _Details coming soon ..._ ## Command summary -Action | Format, Examples ---------|------------------ -**Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​`
e.g., `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` -**Clear** | `clear` -**Delete** | `delete INDEX`
e.g., `delete 3` -**Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` -**Find** | `find KEYWORD [MORE_KEYWORDS]`
e.g., `find James Jake` -**List** | `list` -**Help** | `help` +| Action | Format, Examples | +|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…`
e.g., `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` | +| **Clear** | `clear` | +| **Delete** | `delete INDEX`
e.g., `delete 3` | +| **Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` | +| **Find** | `find KEYWORD [MORE_KEYWORDS]`
e.g., `find James Jake` | +| **List** | `list` | +| **Help** | `help` | diff --git a/docs/images/h1410101.png b/docs/images/h1410101.png new file mode 100644 index 00000000000..c5a4a44dd8d Binary files /dev/null and b/docs/images/h1410101.png differ diff --git a/docs/team/h1410101.md b/docs/team/h1410101.md new file mode 100644 index 00000000000..488ecf0e98b --- /dev/null +++ b/docs/team/h1410101.md @@ -0,0 +1,29 @@ +--- +layout: page +title: Zhi Hong's Project Portfolio Page +--- + +### Project: Foster Family + +This is an **animal foster manager** for **non-profit animal shelters** who currently do not have a good logistical workflow to keep track of foster families. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. + +Given below are my contributions to the project. + +* **New Feature**: + +* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=h1410101&breakdown=false&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos) + +* **Project management**: + +* **Enhancements to existing features**: + +* **Documentation**: + * User Guide: + * Added documentation for the feature `list`. + * Developer Guide: + * Added a few user stories. + * Added implementation details of the `list` feature. + +* **Community**: + +* **Tools**: