Skip to content

Commit

Permalink
Merge pull request #86 from wenzongteo/ImageEnhancement
Browse files Browse the repository at this point in the history
Update UG and DG
  • Loading branch information
wenzongteo authored Oct 25, 2017
2 parents 2634dc7 + 6401a6a commit 33aecaa
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 22 deletions.
59 changes: 43 additions & 16 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@ By: `W14-B2` Since: `Oct 2017`      Licence: `MIT`
toc::[]
<<<

== Software Overview
== Software Overview [Edited in v1.3]

What is the software about.
Augustine is a Command Line Interface (CLI) Address Book that seeks to assist Students and Tutors that are currently in University by providing them with a comprehensive software to store the contact information of either their friends or students virtually on their laptops.

== About
Developed in Java, Augustine is able to be executed in both Windows and Unix environment and is thus able to cater to users of the various platforms.

What is the developer Guide about
== About [Edited in v1.3]

This Developer Guide seeks to assist both existing and new Developers that are interested in joining the Development team of Augustine.

== Setting up

Expand Down Expand Up @@ -98,11 +100,11 @@ When you are ready to start coding,
1. Get some sense of the overall design by reading the link:#architecture[Architecture] section.
2. Take a look at the section link:#suggested-programming-tasks-to-get-started[Suggested Programming Tasks to Get Started].

== Software Architecture
== Software Architecture [Edited in v1.3]

This section covers how the software is design and an overview on the some of components of the software.

=== Architecture Design
=== Architecture Design [Edited in v1.3]

image::Architecture.png[width="600"]
_Figure 4.1 : Architecture Diagram_
Expand Down Expand Up @@ -223,7 +225,7 @@ The `Model`,
* exposes an unmodifiable `ObservableList<ReadOnlyPerson>` that can be 'observed' e.g. the UI can be bound to this list so that the UI automatically updates when the data in the list change.
* does not depend on any of the other three components.

==== Email component
==== Email component [Edited in v1.3]

image::EmailComponent.png[width="800"]
_Figure 4.3.4 : Structure of the Model Component_
Expand Down Expand Up @@ -424,7 +426,7 @@ public static Optional<Address> parseField(Optional<String> field) throws Illega
}
----

==== Design Considerations
==== Design Considerations [Edited in v1.3]

**Aspect:** Detecting of unfilled fields. +
**Alternative 1 (current choice):** Check if value is present, if value is not present, return a - as value instead. +
Expand All @@ -434,19 +436,44 @@ public static Optional<Address> parseField(Optional<String> field) throws Illega
**Pros:** Save space and readability of +
**Cons:** Harder for developers to understand the inner working of the enhancement.

// end::optionalfields[]

---

=== Image Storage [Edited in v1.3]
Each contact in Augustine can be appointed with a Image so that the User can easily identify a Contact.

The image appointed will be copied over to the `/data/images` folder and stored with the file name "contact's email address".jpg.

The image will be affected when the user does the following to a Contact:

- Edit current email
The associated contact picture will be renamed to the new email address.

- Update Image
The new image will overwrite the existing image in the stored location.

- Delete Contact
The associated Image of the Contact will also be deleted.

[NOTE]
A default image is given if the User did not specify an image.


---

==== Design Considerations
**Aspect:** Storing of Contact's Display Picture. +
**Alternative 1 (current choice):** Store file path that was entered by user into AddressBook.xml and try to render the image from there +
**Alternative 1 (current choice):** Create a copy of the image that is in the path entered by user into a folder in Augustine. Store the file path of the copied image into AddressBook.xml and render image from there +
**Pros:** Changing of file path or removal of the original image by user will not lead to any rendering error. +
**Cons:** Addition storage space on the device is required.
**Alternative 2:** Store file path that was entered by user into AddressBook.xml and try to render the image from there +
**Pros:** Simple for developers to understand. +
**Cons:** Changing of file path or removal of image will lead to rendering error. +
**Alternative 2:** Create a copy of the image that is in the path entered by user into a folder in Augustine. Store the file path of the copied image into AddressBook.xml and render image from there +
**Pros:** Changing of file path or removal of the original image by user will not lead to any rendering error. +
**Cons:** Harder to implement and for developers to understand. Additional file space is needed to store the copied image.

// end::optionalfields[]
---

=== Adding and displaying of schedule
=== Adding and displaying of schedule [Edited in v1.3]
The schedule will utilize https://nusmods.com to display through the browser. The current academic year and semester is set inside config.json

The schedule is stored in the `NusModules` class and each `Person` will have an `Optional<NusModules>`.
Expand Down Expand Up @@ -510,7 +537,7 @@ In the xml, the data will be stored as such:
**Pros:** User will not need to know more commands +
**Cons:** It can be confusing for user if one command does too many things, also reduce cohesion in the program.

=== Find with filter and sort Mechanism
=== Find with filter and sort Mechanism [Edited in v1.3]

The find command is facilitated by the Model and Logic Component. It provides the user with the option to
filter and sort the contact list.
Expand Down Expand Up @@ -545,7 +572,7 @@ The find results are bind to the javafx ListView. Thus any changes to the Sorted

---

=== Email Mechanism
=== Email Mechanism [Edited in v1.3]

The email mechanism is facilitated by the `Email component`. It allows the sending of email via using an external
library, JavaMail. The sections below will explain how the email mechanism works and some of the design considerations.
Expand Down
12 changes: 6 additions & 6 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Credits: `Team SE-EDU` https://github.com/se-edu/addressbook-level4
toc::[]
<<<

== Product Overview
== Product Overview [Edited in v1.3]

Every year, a new chapter of your school life begins in August. You will meet new friends and
establish new connections in school. However, it will be difficult to keep track of all the
Expand All @@ -29,7 +29,7 @@ contact number, address, time table and social media account.

Augustine allows you to add your friend's details...

== About
== About [Edited in v1.3]

This user guide provides a overview on the features available in Augustine
and how to use each feature.
Expand Down Expand Up @@ -405,7 +405,7 @@ of the `find` command.

'''

=== Displaying a person's timetable : [fuchsia]`select`
=== Displaying a person's timetable : [fuchsia]`select` [Edited in v1.3]

Augustine is integrated with https://nusmods.com. You can use the [fuchsia]`select` command to display the timetable of a contact on the NUSmods website.

Expand Down Expand Up @@ -459,7 +459,7 @@ of the `find` command.

'''

=== Using NUS timetable: [fuchsia]`nusmods`
=== Using NUS timetable: [fuchsia]`nusmods` [Edited in v1.3]

Augustine is integrated with https://nusmods.com.
You can use the [fuchsia]`nusmods` command to add, edit or delete modules from a contact.
Expand Down Expand Up @@ -533,7 +533,7 @@ The following command will remove the module CS2010 from the timetable of the co
'''


=== Email contacts : [fuchsia]`email`
=== Email contacts : [fuchsia]`email` [Edited in v1.3]

The [fuchsia]`email` command emails all the contacts in the last displayed contact's list
in Augustine.
Expand Down Expand Up @@ -858,7 +858,7 @@ There is no need to save manually.
*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 Address Book folder.

== Command Summary
== Command Summary [Edited in v1.3]


|===
Expand Down

0 comments on commit 33aecaa

Please sign in to comment.