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
+4-151Lines changed: 4 additions & 151 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -272,11 +272,11 @@ _{Explain here how the data archiving feature will be implemented}_
272
272
273
273
### Product scope
274
274
275
-
### Target user profile:
275
+
####Target user profile:
276
276
277
277
MALAddress is for hawker stall owners and stall staff who manage contacts of suppliers and regular customers in a fast-paced environment.
278
278
279
-
### Value proposition:
279
+
####Value proposition:
280
280
281
281
MALAddress lets hawker stall staff quickly store, retrieve, and update supplier/customer contact details via CLI. Staff can search contacts by keywords such as supply type or customer preferences (not just names), reducing time wasted searching across chat apps/paper notes and lowering supplier mix-ups during peak hours.
282
282
@@ -309,8 +309,6 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
309
309
310
310
### Use cases
311
311
312
-
(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
313
-
314
312
**Use case 1: Add a supplier/customer contact with contact info**
315
313
316
314
**MSS**
@@ -319,143 +317,39 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
319
317
2. System shows “successfully saved” message
320
318
3. System refreshed the UI contact list with the latest added contact.
321
319
322
-
Use case ends.
323
-
324
-
**Extensions**
325
-
326
-
327
-
* 2a. Invalid phone format - System shows error message and does not add.
328
-
329
-
* 3a.Duplicate contact detected - System rejects add and shows duplicate error.
330
-
331
-
332
-
333
-
**Use case: Tag a contact as supplier/customer and update remarks**
334
-
System updates the conta
335
-
336
-
#### Design considerations:
337
-
338
-
**Aspect: How undo & redo executes:**
339
-
340
-
***Alternative 1 (current choice):** Saves the entire address book.
341
-
* Pros: Easy to implement.
342
-
* Cons: May have performance issues in terms of memory usage.
343
-
344
-
***Alternative 2:** Individual command knows how to undo/redo by
345
-
itself.
346
-
* Pros: Will use less memory (e.g. for `delete`, just save the person being deleted).
347
-
* Cons: We must ensure that the implementation of each individual command are correct.
348
-
349
-
_{more aspects and alternatives to be added}_
350
-
351
-
### \[Proposed\] Data archiving
352
-
353
-
_{Explain here how the data archiving feature will be implemented}_
Given below are instructions to test the app manually.
485
-
486
-
ct with the new tag and updated remarks.
487
-
488
-
489
-
**MSS**
490
-
491
-
1. The user enters a tag command with a supplier or consumer tag and its remarks.
492
-
2. The system shows a “successfully updated” message.
493
-
3. System refreshed the UI contact list with the latest added contact.
494
-
495
-
Use case ends.
496
-
497
-
**Extensions**
498
-
499
-
500
-
* 2a. Invalid phone format - System shows error message and does not add.
501
-
502
-
* 3a.Duplicate contact detected - System rejects add and shows duplicate error.
503
-
504
-
505
-
*{More to be added}*
506
-
507
-
### Non-Functional Requirements
508
-
509
-
1. Should work on any _mainstream OS_ as long as it has Java `17` or above installed.
510
-
2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
511
-
3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.
512
-
513
-
*{More to be added}*
514
-
515
-
### Glossary
516
-
517
-
***Mainstream OS**: Windows, Linux, Unix, MacOS
518
-
***Private contact detail**: A contact detail that is not meant to be shared with others
0 commit comments