You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/DeveloperGuide.md
+75-5Lines changed: 75 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@
15
15
16
16
* This project was based on the [AddressBook-Level3 (AB3](https://se-education.org/addressbook-level3/) from [SE-EDU](https://se-education.org/).
17
17
* The `remark` command in this project was implemented with reference to the CS2103T AB3 [Tutorial: Adding a command](https://nus-cs2103-ay2324s2.github.io/tp/tutorials/AddRemark.html).
18
-
18
+
* The user guide approach in breakdown in sections and header styling was inspired by [ArtBuddy](https://ay2223s1-cs2103t-w11-3.github.io/tp/UserGuide.html)
@@ -818,7 +818,9 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
818
818
819
819
## **Appendix: Instructions for manual testing**
820
820
821
-
Given below are instructions to test the app manually.
821
+
Given below are instructions to test the app manually.
822
+
The full guide on the expected outcome and format of the commands can be found in our user guide.
823
+
This appendix will serve to inform users on the assumptions along with a correct and invalid test case.
822
824
823
825
<boxtype="info"seamless>
824
826
@@ -844,9 +846,11 @@ testers are expected to do more *exploratory* testing.
844
846
845
847
3._{ more test cases … }_
846
848
847
-
### Deleting a person
849
+
### Adding a client
850
+
851
+
### Deleting a client
848
852
849
-
1. Deleting a person while all persons are being shown
853
+
1. Deleting a client while all clients are being shown
850
854
851
855
1. Prerequisites: List all persons using the `list` command. Multiple persons in the list.
852
856
@@ -861,6 +865,56 @@ testers are expected to do more *exploratory* testing.
861
865
862
866
2._{ more test cases … }_
863
867
868
+
### Editing a client
869
+
870
+
### Listing client
871
+
872
+
### Viewing a client
873
+
874
+
### Finding a client
875
+
876
+
### Adding notes to a client
877
+
878
+
### Clearing the client list
879
+
880
+
### Sorting clients
881
+
882
+
### Updating last met
883
+
Command Format: `met index d/YYYY-MM-DD`
884
+
Assumptions: Today is 13 April 2024, date chosen must not be in the future.
885
+
Desired Outcome: Updating the last met date of the 3rd client to 11 April 2024.
886
+
1. Correct Test Case: `met 3 d/2024-04-11`
887
+
2. Invalid Test Case: `met 3 d/11-04-2024` wrong date format
888
+
889
+
### Scheduling an appointment
890
+
Command Format: `schedule index d/YYYY-MM-DD HH:mm`
891
+
Assumptions: Today is 13 April 2024, date chosen must not be in the past.
892
+
Desired Outcome: Creating an appointment with the 3rd client on 18 April 2024 2pm.
893
+
1. Correct Test Case: `schedule 3 d/2024-04-18 14:00`
894
+
2. Invalid Test Case: `schedule 3 d/18-04-2024 14:00` wrong dateTime format
895
+
3. Invalid Test Case: `schedule 3 d/2024-04-18` missing time
896
+
897
+
### Marking an appointment as complete
898
+
Command Format: `mark index`
899
+
Assumptions: An open appointment is present with an existing client.
900
+
Desired Outcome: Marking an appointment with the 3rd client.
901
+
1. Correct Test Case: `mark 3`
902
+
2. Invalid Test Case: `mark 3` if client does not exist or appointment is done
903
+
3. Invalid Test Case: `mark three` index should be a positive integer
904
+
905
+
### Set the last met overdue duration
906
+
Command Format: `mark integer`
907
+
Assumptions: Nil
908
+
Desired Outcome: Setting the duration to 45 days.
909
+
1. Correct Test Case: `set 45`
910
+
2. Invalid Test Case: `set 45.3` value must be non-negative integer
911
+
3. Invalid Test Case: `set forty five` value must be a non-negative integer
912
+
913
+
### Adding a policy
914
+
915
+
### Deleting a policy
916
+
917
+
864
918
### Saving data
865
919
866
920
1. Dealing with missing/corrupted data files
@@ -872,11 +926,13 @@ testers are expected to do more *exploratory* testing.
872
926
873
927
## **Appendix: Planned Enhancements**
874
928
929
+
Team Size: 4
930
+
875
931
1.**Feature Flaw** - Currently, users can only schedule one appointment per client. In future versions, we will support multiple appointments per client.
876
932
2.**Feature Flaw** - Currently, names are case-sensitive. `John` and `john` are regarded as different clients. In future versions, names will be case-insensitive.
877
933
3.**Feature Flaw** - Currently, tags only allow alphanumeric values. Spaces and special characters are not allowed. In future versions, we will support the use of spaces and special characters for tags.
878
934
4.**Feature Flaw** - Currently, users are not allowed to use special characters like `/` when adding or editing the client name. In future versions, we will support the use of special characters like `/` for names.
879
-
5.**Feature Flaw** - Currently, users must fulfill all compulsory parameters to add a person. In future versions, we will make more parameters optional.
935
+
5.**Feature Flaw** - Currently, users must fulfill all compulsory parameters to add a client. In future versions, we will make more parameters optional.
880
936
6.**Feature Flaw** - Currently, users must re-sort the client list after adding, editing or updating clients. Client List does not auto update or re-sort itself upon adding/editing or updating. In future versions, we will support the auto sorting when clients are updated.
881
937
7.**UI Bug** - Currently, the policy name and policy id may get truncated if there are too many characters. In future versions, we will support the wrapping of fields in the Policy Display.
882
938
8.**UI Bug** - Currently, the phone number and remark may get truncated if they are too long. In future versions, we will support the wrapping of all fields in the Client View Display.
@@ -885,4 +941,18 @@ testers are expected to do more *exploratory* testing.
885
941
886
942
## **Appendix: Effort**
887
943
944
+
1. Scheduling Features
945
+
`met`, `schedule`, `mark` and `set` commands help the user manage his scheduling matters. As these 4 commands directly affect each other, the difficulty comes in thinking what and how
946
+
their respective class methods should interact with each other, especially with what date format to choose as this directly affects our auto-sort implemented for scheduling. It is also difficult to test for extreme cases that may cause these commands to misbehave.
947
+
We decided to simplify the process by restricting the user to 1 appointment per client as our initial beta version faced multiple bugs due to higher number of classes and functions when supporting multiple appointments per client.
948
+
949
+
`set` is also saved in a separate txt file as it is not related to client traits. Hence, additional testing is needed to ensure the value that `set` updates is saved correctly and is able to handle
0 commit comments