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
-**What it does**: Allows users to add loans for books, specifying borrower details such as name, return date, phone number, and email.
15
15
-**Justification**: This feature is essential for tracking which books are currently on loan and who borrowed them. It enhances the core functionality of the library management system.
16
16
-**Highlights**: Includes validation to prevent adding loans for books that are already on loan.
17
17
18
-
2.**Formatter**:
18
+
2.**`Formatter` class**:
19
19
-**What it does**: Provides a centralized utility for formatting output messages, such as error messages, success messages, and lists.
20
20
-**Justification**: Improves the user experience by ensuring consistent and readable output across all commands.
21
21
-**Highlights**: Supports formatting for book lists, loan lists, and error messages.
22
22
23
23
3.**Storage Validation**:
24
24
-**What it does**: Validates the consistency of data between the `BookList` and `LoanList` during loading. Removes invalid loans and fixes discrepancies in book statuses (e.g., `onLoan` status).
25
25
-**Justification**: Ensures data integrity when loading from files, preventing crashes and maintaining a consistent state.
26
-
-**Highlights**: Handles duplicate books, invalid loans, and mismatched `onLoan` statuses.
-**What it does**: Allows users to input command arguments in any order, as long as all required arguments are provided. For example, the command add-loan accepts arguments like`BOOK_TITLE`,`BORROWER_NAME`, `RETURN_DATE`, `PHONE_NUMBER`, and `EMAIL` in any order.
29
+
-**What it does**: Allows users to input command arguments in any order, as long as all required arguments are provided. For example, the command `edit-loan` accepts arguments like `BORROWER_NAME`, `RETURN_DATE`, `PHONE_NUMBER`, and `EMAIL` in any order.
30
30
-**Justification**: This feature improves the user experience by making commands more flexible and forgiving. Users do not need to memorize a strict order for arguments, reducing the likelihood of input errors.
31
31
-**Highlights**:
32
-
Implemented a parser that dynamically identifies and maps arguments based on prefixes (e.g., n/ for name, d/ for return date).
33
-
Includes validation to ensure all required arguments are present and correctly formatted.
34
-
Supports optional arguments (e.g., note/NOTE for books) without affecting the required arguments.
32
+
- Implemented a parser that dynamically identifies and maps arguments based on prefixes (e.g., n/ for name, d/ for return date).
33
+
- Includes validation to ensure all required arguments are present and correctly formatted.
34
+
- Supports optional arguments (e.g., note/NOTE for books) without affecting the required arguments.
35
+
- Includes checking of duplicate prefixes/arguments given by user.
35
36
36
37
#### **Contributions to the User Guide**
37
38
- Added documentation for the following commands:
@@ -46,9 +47,14 @@ BookKeeper is a Command Line Interface (CLI) library manager application for eff
46
47
47
48
#### **Contributions to the Developer Guide**
48
49
- Wrote the implementation details for:
49
-
- Loan addition
50
+
- Section on Adding Loans
51
+
- Section on Search Title
52
+
- Section on Save/Load Inventory
53
+
- Section on Save/Load Loans
50
54
- Added UML diagrams for:
51
-
- Sequence Diagram for add-loan.
55
+
- Sequence Diagram for Adding Loans.
56
+
- Sequence Diagram for Save/Load Inventory.
57
+
- Sequence Diagram for Save/Load Loans.
52
58
53
59
#### **Contributions to Team-Based Tasks**
54
60
- Maintained the issue tracker and managed milestones.
0 commit comments