Overview
EventsPlus+ is a Command Line Interface (CLI) desktop address book application catered for busy university students to manage their contacts, events, project meetings and ad-hoc events efficiently. It aims to simplify some of the more time-consuming administrative tasks such as coordinating location and date of ad-hoc events. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has more than 10 kLoC.
Summary of contributions
-
Code contributed: [RepoSense]
-
Major enhancement: added import contacts function
-
What it does: Allows the user to import contacts from external source (google contacts) into EventsPlus+.
-
Justification: Users should be able to easily import contacts from external source without having to go through the trouble of adding in contacts 1 by 1.
-
Highlights: Users will be notified with the number of successful imported contacts. Failure of importing should be the caused by bad formatting or missing mandatory fields.
-
-
Other contributions:
-
Project management:
-
Managed releases
v1.3
on GitHub
-
-
Documentation:
-
Community:
-
Contributions to the User Guide
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. |
Import Contacts: importContacts
, alias ic
Import contacts from a specified csv file.
CSV file has to be exported from google contacts as Google CSV.
|
Format: importContacts file/ABSOLUTE_FILEPATH
Examples:
-
importContacts file/~/Downloads/google.csv
Imports all contacts from root/Downloads/google.csv into application address book
Contributions to the Developer Guide
Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project. |
Import Contacts
Current Implementation
When FileReader
is created, it will read the provided CSV file, breaking the first line into Arrays of Strings.
FileReader
then take note of the index of mandatory fields:
-
Name
-
Email
-
Phone Number
-
Address
-
Faculty
ModelManager
now implements importContacts
and it calls on VersionedAddressBook
.
VersionAddressBook
is being called so that undo redo can work on import contacts command.
VersionAddressBook
extends AddressBook
and it implements importContacts
.
importContacts
will get the list of contacts from FileReader
and the index all all mandatory fields.
For each of the contact in contact list, Person
is created using index saved for each mandatory fields.
Returned Person
objects are then inserted into UniquePersonsList
with validation.
The number of successful inserts will be displayed.
The following sequence diagram shows how the importContactsCommand operation works: