diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 0f05ff7e79d..31b02c2e17c 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -192,6 +192,8 @@ Classes used by multiple components are in the `seedu.address.commons` package. This section describes some noteworthy details on how certain features are implemented. +--- + ### Add contacts **Overview** @@ -220,6 +222,8 @@ Note: While the diagram shows the lifeline of objects even after their deletion, 2. KonTActs will create a contact of Tom with the given details before adding it to the contact list. 3. The contact is then displayed in the UI, along with a success message. +--- + ### Add Grade implementation **Logic**: @@ -236,6 +240,8 @@ This is illustrated in the activity diagram below: * addGrade checks whether the assignment exists in the database, if the score is valid and if the person exists in the contacts. * If the conditions are satisfied, the assignment is added to the `HashMap` in the person object which stores all the added assignments of that person. +--- + ### MarkCommand @@ -253,6 +259,25 @@ This is illustrated in the activity diagram below: --- +### Export Command implementation +**API** [`Export.java`](https://github.com/AY2425S1-CS2103T-T11-2/tp/blob/master/src/main/java/seedu/address/storage/Export.java) + +The `ExportCommand` is used by KonTActs to allow users to export contact data as a CSV file that can be +easily shared or imported. The ExportCommand operates on the existing list of contacts and +exports them to the specified file location. + +- The command validates the file path and handle any errors during the export process. +- Error message will be displayed if any errors are encountered. +- ExportCommand retrieves all contact data from KonTActs and formats the data it into a CSV file. +- After the export is completed (file is saved at desired location), a confirmation message will be displayed. + +A visual representation is shown below of how a typical user might use the `ExportCommand`, + + + + +--- + ### Command History implementation **API** : [`CommandHistory.java`](https://github.com/AY2425S1-CS2103T-T11-2/tp/blob/master/src/main/java/seedu/address/storage/CommandHistory.java) @@ -285,6 +310,7 @@ A visual representation is shown below of how a typical user might use the `Comm {{ newPage }} + ## **Documentation, logging, testing, configuration, dev-ops** - [Documentation guide](Documentation.md) diff --git a/docs/diagrams/Export.puml b/docs/diagrams/Export.puml new file mode 100644 index 00000000000..aba9f74e90f --- /dev/null +++ b/docs/diagrams/Export.puml @@ -0,0 +1,11 @@ +@startuml +start +:User executes Export Command; +if () then ([File Path is valid and user\n have write permission]) + :Information of current contacts in \nKontacts exported as CSV file to\ndesired location.; + :Export Command returns a message \nindicating successful import.; +else ([else]) +:Export Command returns an error message to the user.; +endif +stop +@enduml \ No newline at end of file