Skip to content

Commit 1d75355

Browse files
authored
Merge pull request #31 from Gallardo166/fix-dg
Fix DG
2 parents 18f3ef8 + 01c75d3 commit 1d75355

File tree

1 file changed

+4
-151
lines changed

1 file changed

+4
-151
lines changed

docs/DeveloperGuide.md

Lines changed: 4 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,11 @@ _{Explain here how the data archiving feature will be implemented}_
272272

273273
### Product scope
274274

275-
### Target user profile:
275+
#### Target user profile:
276276

277277
MALAddress is for hawker stall owners and stall staff who manage contacts of suppliers and regular customers in a fast-paced environment.
278278

279-
### Value proposition:
279+
#### Value proposition:
280280

281281
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.
282282

@@ -309,8 +309,6 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
309309

310310
### Use cases
311311

312-
(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
313-
314312
**Use case 1: Add a supplier/customer contact with contact info**
315313

316314
**MSS**
@@ -319,143 +317,39 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
319317
2. System shows “successfully saved” message
320318
3. System refreshed the UI contact list with the latest added contact.
321319

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}_
354-
355-
356-
--------------------------------------------------------------------------------------------------------------------
357-
358-
## **Documentation, logging, testing, configuration, dev-ops**
359-
360-
* [Documentation guide](Documentation.md)
361-
* [Testing guide](Testing.md)
362-
* [Logging guide](Logging.md)
363-
* [Configuration guide](Configuration.md)
364-
* [DevOps guide](DevOps.md)
365-
366-
--------------------------------------------------------------------------------------------------------------------
367-
368-
## **Appendix: Requirements**
369-
370-
### Product scope
371-
372-
**Target user profile**:
373-
374-
* has a need to manage a significant number of contacts
375-
* prefer desktop apps over other types
376-
* can type fast
377-
* prefers typing to mouse interactions
378-
* is reasonably comfortable using CLI apps
379-
380-
**Value proposition**: manage contacts faster than a typical mouse/GUI driven app
381-
382-
383-
### User stories
384-
385-
Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`
386-
387-
| Priority | As a …​ | I want to …​ | So that I can…​ |
388-
|----------|--------------------------------------------|------------------------------|------------------------------------------------------------------------|
389-
| `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App |
390-
| `* * *` | user | add a new person | |
391-
| `* * *` | user | delete a person | remove entries that I no longer need |
392-
| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list |
393-
| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident |
394-
| `*` | user with many persons in the address book | sort persons by name | locate a person easily |
395-
396-
*{More to be added}*
397-
398-
### Use cases
399-
400-
(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
401-
402-
**Use case: Add a supplier/customer contact with contact info**
403-
404-
**MSS**
405-
406-
1. The user enters the add command with name and phone.
407-
2. System shows “successfully saved” message
408-
3. System refreshed the UI contact list with the latest added contact.
409-
410-
Use case ends.
411-
412320
**Extensions**
413321

414-
415322
* 2a. Invalid phone format - System shows error message and does not add.
416-
* 3a.Duplicate contact detected - System rejects add and shows duplicate error.
417-
418-
323+
* 3a. Duplicate contact detected - System rejects add and shows duplicate error.
419324

420325
**Use case 2: Tag a contact as supplier/customer and update remarks**
421326
System updates the contact with the new tag and updated remarks.
422327

423-
424328
**MSS**
425329

426330
1. The user enters a tag command with a supplier or consumer tag and its remarks.
427331
2. The system shows a “successfully updated” message.
428332
3. System updates the contact with the new tag and updated remarks.
429333

430-
Use case ends.
431-
432334
**Extensions**
433335

434-
435336
* 2a. Invalid tag format - System shows error message and prompts user to check the entered tag.
436337
* 2b. Duplicate tag in same command - System shows error message and prompts user to check the entered tag.
437338
* 2c. Remark too long / contains newline - System shows error message and prompts user to check the entered remark.
438339

439-
440-
441340
**Use case 3: List all currently available suppliers (“open now”)**
442341

443342
**MSS**
444343

445-
1. The user enters the open command.
344+
1. The user enters the open command.
446345
2. The system retrieves the list of all suppliers that are currently available.
447346

448-
Use case ends.
449-
450347
**Extensions**
451348

452-
453349
* 2a. Invalid tag format - System shows error message and prompts user to check the entered tag.
454350
* 2b. Duplicate tag in same command - System shows error message and prompts user to check the entered tag.
455351
* 2c. Remark too long / contains newline - System shows error message and prompts user to check the entered remark.
456352

457-
*{More to be added}*
458-
459353
### Non-Functional Requirements
460354

461355
1. Should work on any _mainstream OS_ as long as it has Java `17` or above installed.
@@ -465,8 +359,6 @@ System updates the contact with the new tag and updated remarks.
465359
5. Store data without corrupting.
466360
6. On invalid input, the app must not modify stored data.
467361

468-
*{More to be added}*
469-
470362
### Glossary
471363

472364
* **Mainstream OS**: Windows, Linux, Unix, MacOS
@@ -477,45 +369,6 @@ System updates the contact with the new tag and updated remarks.
477369
* **Tag**: A short label used to classify contacts
478370
* **Remark**: A short note attached to a contact for operational info.
479371
* **Available supplier**: A supplier whose operating hours include the current time.
480-
--------------------------------------------------------------------------------------------------------------------
481-
482-
## **Appendix: Instructions for manual testing**
483-
484-
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
519372

520373
--------------------------------------------------------------------------------------------------------------------
521374

0 commit comments

Comments
 (0)