Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
erik0704 committed Nov 8, 2017
2 parents 4d12c33 + f410174 commit 22df385
Showing 1 changed file with 173 additions and 0 deletions.
173 changes: 173 additions & 0 deletions docs/team/quangtdn.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
= Quang Minh Nguyen - Project Portfolio
ifdef::env-github,env-browser[:outfilesuffix: .adoc]
:imagesDir: ../images
:stylesDir: ../stylesheets

== Project: AddressBook - Level 4
AddressBook - Level 4 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 6 kLoC.

*Code contributed*: [https://github.com[Functional code]] [https://github.com[Test code]] {give links to collated code files}

=== Enhancement Added: `phone`

==== External behavior
Locating persons by phone number.

---
#Start of Extract [from: User Guide]#

include::../UserGuide.adoc#locating-persons-by-phone-number-code-phone-code-since-v1-1[tag=phone]

Finds person whose phone numbers match with at least a phone number in the specified list
Format: `phone NUMBER [MORE_NUMBERS]`

****
* The order of phone numbers being queried does not matter.
* Only the phone number is searched.
* Only full numbers will be matched e.b. '12345' will not match '123456' // can be modifed latter to match a chain of partial number
****

#End of Extract#

---

==== Justification

Searching a contact by phone number is extremely convenient for searching a person in NeoXPRO when searching a contact by name is inefficient in a large contact list.

==== Implementation

---
#Start of Extract [from: Developer Guide]#

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

#End of Extract#

---

=== Enhancement Added: Profile Page

==== External behavior
Allow user to optionally store the profile page of each person in contact list.
The profile page for a person will appear in UI as long as it is stored.
When a person is selected, his/her profile page will be loaded in UI.

---
#Start of Extract [from: User Guide]#

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

#End of Extract#

---

==== Justification

With the profile page stored for each person, NeoXPRO enhances the user's experience.

==== Implementation

---
#Start of Extract [from: Developer Guide]#

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

#End of Extract#

---

=== Enhancement Added: Improve `delete` command

==== External behavior
Using 'delete' command, user can now delete multiple persons from the contact list at a time.

---
#Start of Extract [from: User Guide]#

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

#End of Extract#

---

==== Justification

{Justify the need for, and the current design (i.e. external behavior) of, the feature}

==== Implementation

---
#Start of Extract [from: Developer Guide]#

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

#End of Extract#

---

=== Enhancement Added: `export`

==== External behavior
Export the contact list of NeoXPRO into a text file.

---
#Start of Extract [from: User Guide]#

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

#End of Extract#

---

==== Justification

With this feature, user can easily make use of the data in contact list.

==== Implementation

---
#Start of Extract [from: Developer Guide]#

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

#End of Extract#

---

=== Enhancement Added: Improve `Select` command

==== External behavior
When a person is selected, his/her profile page is displayed (if it's stored)

---
#Start of Extract [from: User Guide]#

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

#End of Extract#

---

==== Justification

{Justify the need for, and the current design (i.e. external behavior) of, the feature}

==== Implementation

---
#Start of Extract [from: Developer Guide]#

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

#End of Extract#

---
=== Other contributions

* Updated the GUI color scheme (Pull requests https://github.com[#33], https://github.com[#34])
* Wrote additional tests to increase coverage from 88% to 92% (Pull requests https://github.com[#36], https://github.com[#38])

== Project: PowerPointLabs

{Optionally (not graded), you may include other projects in your portfolio.}

0 comments on commit 22df385

Please sign in to comment.