Skip to content

Commit

Permalink
Merge pull request #32 from AY2324S2-CS2103T-T17-4/add-delete
Browse files Browse the repository at this point in the history
Add delete
  • Loading branch information
martinng01 authored Mar 12, 2024
2 parents 325aa31 + d8a3fe5 commit ac4c347
Show file tree
Hide file tree
Showing 52 changed files with 2,091 additions and 1,308 deletions.
12 changes: 6 additions & 6 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
* Role: Developer
* Responsibilities: Documentation + UI

### Jane Doe
### Martin Ng Jinn Kai

<img src="images/johndoe.png" width="200px">
<img src="images/martinng.png" width="200px">

[[github](http://github.com/johndoe)]
[[portfolio](team/johndoe.md)]
[[github](http://github.com/martinng01)]
[[portfolio](team/martinng.md)]

* Role: Team Lead
* Responsibilities: UI
* Role: Developer
* Responsibilities: Testing

### Johnny Doe

Expand Down
209 changes: 135 additions & 74 deletions docs/DeveloperGuide.md

Large diffs are not rendered by default.

Binary file added docs/images/martinng.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 27 additions & 20 deletions docs/team/martinng.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,53 @@
---
layout: page
title: John Doe's Project Portfolio Page
title: Martin Ng's Project Portfolio Page
---

### Project: AddressBook Level 3

AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. 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.
AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. 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**: Added the ability to undo/redo previous commands.
* What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
* Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
* Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
* Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}*
* What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed
by using the redo command.
* Justification: This feature improves the product significantly because a user can make mistakes in commands and
the app should provide a convenient way to rectify them.
* Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth
analysis of design alternatives. The implementation too was challenging as it required changes to existing
commands.
* Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in
the feature so that a reader can make a more accurate judgement of how much effort went into the feature}*

* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys.

* **Code contributed**: [RepoSense link]()

* **Project management**:
* Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub
* Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub

* **Enhancements to existing features**:
* Updated the GUI color scheme (Pull requests [\#33](), [\#34]())
* Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]())
* Updated the GUI color scheme (Pull requests [\#33](), [\#34]())
* Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull
requests [\#36](), [\#38]())

* **Documentation**:
* User Guide:
* Added documentation for the features `delete` and `find` [\#72]()
* Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]()
* Developer Guide:
* Added implementation details of the `delete` feature.
* User Guide:
* Added documentation for the features `delete` and `find` [\#72]()
* Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]()
* Developer Guide:
* Added implementation details of the `delete` feature.

* **Community**:
* PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]()
* Contributed to forum discussions (examples: [1](), [2](), [3](), [4]())
* Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]())
* Some parts of the history feature I added was adopted by several other class mates ([1](), [2]())
* PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]()
* Contributed to forum discussions (examples: [1](), [2](), [3](), [4]())
* Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]())
* Some parts of the history feature I added was adopted by several other class mates ([1](), [2]())

* **Tools**:
* Integrated a third party library (Natty) to the project ([\#42]())
* Integrated a new Github plugin (CircleCI) to the team repo
* Integrated a third party library (Natty) to the project ([\#42]())
* Integrated a new Github plugin (CircleCI) to the team repo

* _{you can add/remove categories in the list above}_
10 changes: 5 additions & 5 deletions src/main/java/seedu/address/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@

/**
* The main entry point to the application.
*
* <p>
* This is a workaround for the following error when MainApp is made the
* entry point of the application:
*
* Error: JavaFX runtime components are missing, and are required to run this application
*
* <p>
* Error: JavaFX runtime components are missing, and are required to run this application
* <p>
* The reason is that MainApp extends Application. In that case, the
* LauncherHelper will check for the javafx.graphics module to be present
* as a named module. We don't use JavaFX via the module system so it can't
* find the javafx.graphics module, and so the launch is aborted.
*
* <p>
* By having a separate main class (Main) that doesn't extend Application
* to be the entry point of the application, we avoid this issue.
*/
Expand Down
10 changes: 7 additions & 3 deletions src/main/java/seedu/address/logic/Messages.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class Messages {
public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid";
public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!";
public static final String MESSAGE_DUPLICATE_FIELDS =
"Multiple values specified for the following single-valued field(s): ";
"Multiple values specified for the following single-valued field(s): ";

/**
* Returns an error message indicating the duplicate prefixes.
Expand All @@ -39,10 +39,14 @@ public static String format(Person person) {
builder.append(person.getName())
.append("; Phone: ")
.append(person.getPhone())
.append("; Email: ")
.append(person.getEmail())
.append("; Sex: ")
.append(person.getSex())
.append("; Employment Type: ")
.append(person.getEmploymentType())
.append("; Address: ")
.append(person.getAddress())
.append("; Bank Details: ")
.append(person.getBankDetails())
.append("; Tags: ");
person.getTags().forEach(builder::append);
return builder.toString();
Expand Down
23 changes: 16 additions & 7 deletions src/main/java/seedu/address/logic/commands/AddCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@

import static java.util.Objects.requireNonNull;
import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS;
import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL;
import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME;
import static seedu.address.logic.parser.CliSyntax.PREFIX_BANKDETAILS;
import static seedu.address.logic.parser.CliSyntax.PREFIX_EMPLOYMENTTYPE;
import static seedu.address.logic.parser.CliSyntax.PREFIX_FIRSTNAME;
import static seedu.address.logic.parser.CliSyntax.PREFIX_LASTNAME;
import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE;
import static seedu.address.logic.parser.CliSyntax.PREFIX_SEX;
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;

import seedu.address.commons.util.ToStringBuilder;
Expand All @@ -13,6 +16,7 @@
import seedu.address.model.Model;
import seedu.address.model.person.Person;


/**
* Adds a person to the address book.
*/
Expand All @@ -22,15 +26,20 @@ public class AddCommand extends Command {

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. "
+ "Parameters: "
+ PREFIX_NAME + "NAME "
+ PREFIX_FIRSTNAME + "FIRST NAME "
+ PREFIX_LASTNAME + "LAST NAME "
+ PREFIX_PHONE + "PHONE "
+ PREFIX_EMAIL + "EMAIL "
+ PREFIX_ADDRESS + "ADDRESS "
+ PREFIX_SEX + "SEX "
+ PREFIX_EMPLOYMENTTYPE + "EMPLOYMENT TYPE "
+ "[" + PREFIX_ADDRESS + "ADDRESS] "
+ "[" + PREFIX_BANKDETAILS + "BANK DETAILS] "
+ "[" + PREFIX_TAG + "TAG]...\n"
+ "Example: " + COMMAND_WORD + " "
+ PREFIX_NAME + "John Doe "
+ PREFIX_FIRSTNAME + "John "
+ PREFIX_LASTNAME + "Doe "
+ PREFIX_PHONE + "98765432 "
+ PREFIX_EMAIL + "[email protected] "
+ PREFIX_SEX + "m "
+ PREFIX_EMPLOYMENTTYPE + "ft "
+ PREFIX_ADDRESS + "311, Clementi Ave 2, #02-25 "
+ PREFIX_TAG + "friends "
+ PREFIX_TAG + "owesMoney";
Expand Down
Loading

0 comments on commit ac4c347

Please sign in to comment.