Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[W7.7][T10-B1] AcquaiNote #70

Open
wants to merge 447 commits into
base: master
Choose a base branch
from

Conversation

Hailinx
Copy link

@Hailinx Hailinx commented Oct 5, 2017

No description provided.

@@ -729,8 +729,26 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un

|`* * *` |user |find a person by name |locate details of persons without having to go through the entire list

|`* * *` |user |add details to a certain contact after adding them |have more information available afterwards

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it more like edit?

@@ -729,8 +729,26 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un

|`* * *` |user |find a person by name |locate details of persons without having to go through the entire list

|`* * *` |user |add details to a certain contact after adding them |have more information available afterwards

|`* * *` |user |be notified if I were to delete a contact |I don’t mistakenly delete a contact

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is more like a detail that should be recorded in the use case of delete contact's user story.

|`* *` |user |hide link:#private-contact-detail[private contact details] by default |minimize chance of someone else seeing them by accident

|`* *` |user |use link:#right-click-menu[right click menu] for most link:#common-commands[common commands] |no typing is required and makes my life easy

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remember that the project defines that the user is a typist.


|`* * *` |user |show list of favourite contacts |quickly find people I contact often

|`* * *` |user |be notified when entering user with same name |avoid confusion in the future

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More like a use case.


|`* * *` |user |have a more flexible addition of contact |add contacts without address or email as compulsory elements

|`* * *` |user |show list of favourite contacts |quickly find people I contact often

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget to add a user story to add contacts into favourite contacts.

*MSS*

1. User requests to add a person
2. User inputs desired details, eg: address, email, birthday, etc...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Step 1 and 2 can be combined into User requests to add a person with some missing attributes

** 3a1. AddressBook displays message “Wrong password”.
+
Use case resumes at step 2.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, it's good that you write use cases for each user stories, but some of them shouldn't be a user stories and also some use cases are wrong. Please check them again and update it accordingly.

. Should be able to sort within 1 second.
. A user with average software using skills should be able to understand the user interface within 20 minutes.
. A new user who is able to comprehend simple english can use the application within 20 minutes.
. Should only store data locally unless user shares with other applications.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good, all NFRs are specific.

@@ -41,4 +41,5 @@
*/
void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) throws IOException;

void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put header comment here.

@@ -74,4 +75,8 @@ public void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) th
XmlFileStorage.saveDataToFile(file, new XmlSerializableAddressBook(addressBook));
}

public void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException {
saveAddressBook(addressBook, filePath.concat("backup.fxml"));

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

backup.fxml can be set into a constant.

@jeffryhartanto
Copy link

@Hailinx @qihao27 @valensia0711 @aaronyhsoh
Some comments added. Good job for completing V1.0, keep up the good work.


Role: Developer +
Responsibilities: UI
Responsibilities: Logic

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job for updating AboutUS.

+
Use case ends.

[discrete]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job for updating the dev guide.

* *Delete* : `delete INDEX` +
e.g. `delete 3`
* *Delete* : `delete INDEX` or `del NAME` +
e.g. `delete 3`, `del john`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job for updating the UserGuide.

* Will return false for any other non-alphabet string input
* e.g. empty string, " abc " (untrimmed), "1 a" (contains number)
* Will return false if the input string case does not match the string stored (case sensitive)
* @throws NullPointerException if {@code s} is null.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job for writing the comment

import seedu.address.model.person.ReadOnlyPerson;
import seedu.address.model.person.exceptions.PersonNotFoundException;
// import seedu.address.commons.core.EventsCenter;
// import seedu.address.commons.events.logic.ContactAltDeletionEvent;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can remove commented code.

}

@Override
public boolean test(ReadOnlyPerson person) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be can apply abstraction here.

// private void handleContactDeletionEvent(ContactAltDeletionEvent event) {
// logger.info(LogsCenter.getEventHandlingLogMessage(event));
// showDeleteOperationAlertAndWait();
// }

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can remove commented code.

// assertEquals(DELETE_WARNING_DIALOG_CONTENT_MESSAGE, alertDialog.getContentText());
// }
//
// }

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can remove commented code.

/**
* Contains integration tests (interaction with the Model) and unit tests for {@code DeleteCommand}.
*/
public class DeleteAltCommandTest {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job for writing the test cases.

String expectedMessage = String.format(MESSAGE_PERSONS_LISTED_OVERVIEW, 0);
FindCommand command = prepareCommand(" ");
assertCommandSuccess(command, expectedMessage, Collections.emptyList());
public void equals_indFuzzyFind() {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job for updating the test cases.

@jeffryhartanto
Copy link

@Hailinx @qihao27 @valensia0711 @aaronyhsoh Some comments added.
Good job for passing team component v1.1 milestone. Don't forget to merge your changes for the next milestone.

@jeffryhartanto
Copy link

@Hailinx @qihao27 @aaronyhsoh @valensia0711
Feedback for Implementation section

3.1. Find mechanism

  • Typo: in in its arguments.
  • There are three steps for parsing commands with options <- better explained using sequence diagram.
  • Can explain what is optional behavior.

3.3. Sort mechanism

  • This is a very small enhancement and explaining how the sort is implemented is not necessary.
  • Try to explain larger feature, may be sort by any attribute.

3.4. Lock/Unlock mechanism

  • Some explanation are not useful.
  • Can use a sequence diagram for better explanation.

ChenXiaoman pushed a commit to ChenXiaoman/Weaver that referenced this pull request Oct 24, 2017
@Hailinx Hailinx changed the title [W7.7][T10-B1] AddressBook [W7.7][T10-B1] AcquaNote Oct 26, 2017
cjianhui added a commit to cjianhui/main that referenced this pull request Oct 27, 2017
Implemented multi-delete for persons, added schedule list panel, added some tests
@damithc damithc closed this Nov 13, 2017
@damithc damithc reopened this Nov 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants