From 3857ff9c403295860d34832c8809ef57200e68ca Mon Sep 17 00:00:00 2001 From: SemiColonKen Date: Tue, 12 Nov 2024 13:22:27 +0800 Subject: [PATCH] Updated ug and ppp --- docs/UserGuide.md | 19 +++-- .../KennethRemoveCustomerDiagram.puml | 0 docs/team/SemiColonKen.md | 44 ---------- docs/team/semicolonken.md | 82 +++++++++++++++++++ 4 files changed, 93 insertions(+), 52 deletions(-) create mode 100644 docs/diagrams/KennethRemoveCustomerDiagram.puml delete mode 100644 docs/team/SemiColonKen.md create mode 100644 docs/team/semicolonken.md diff --git a/docs/UserGuide.md b/docs/UserGuide.md index cdff38891e..b848b9577f 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -120,7 +120,7 @@ Customer name : John Age : 18 Contact Number : 95382572 ``` - +--- ### Removing a User from the Database: `remove-user` Removes a customer from the customer list. @@ -129,7 +129,7 @@ Removes a customer from the customer list. * `CUSTOMER_NAME` : `STRING`. * `CUSTOMER_NAME` must match an existing customer in the database. -* `CUSTOMER_NAME` is not case sensitive. 'John' and 'john' mean the same customer. +* `CUSTOMER_NAME` is not case-sensitive. 'John' and 'john' mean the same customer. **Example of usage:** `remove-user /u John` @@ -138,6 +138,7 @@ Removes a customer from the customer list. ``` John has been removed from customer list ``` +--- ### Removing all Users from the Database: `remove-all-users` Removes all customers from the customer list. @@ -151,6 +152,7 @@ Removes all customers from the customer list. ``` All customers removed!!! ``` +--- ### Listing All Users: `list-users` Lists all customers in the customer list in this format for each customer: @@ -231,8 +233,9 @@ All cars removed!!! ### Listing All Cars: `list-cars` Lists all the cars owned by the company, sorted according to the price of renting the car for a day. -The format for the each car in the list is: -Car Model | License PLate Number | Price of Rental (Per Day) | Availability (for Rental) | Price Category | Median Price of Cars in Fleet +The format for each car in the list is: +Car Model | License PLate Number | Price of Rental (Per Day) | Availability (for Rental) | Price Category | +Median Price of Cars in Fleet **Format:** `list-cars` @@ -310,16 +313,16 @@ To add transaction bearing either an existing license plate number and/or custom - `LICENSE_PLATE_NUMBER` must match an existing car in the database. This is unique as the program will not allow 2 cars to have the same license plate number. -- `/u` identifier specifies the name of the customer. +- `/u` identifier specifies the name of the customer. - `CUSTOMER_NAME` must match an existing customer in the database. This is unique as the program will not allow 2 customers to have the same name. - `/d` identifier specifies the duration of the rental in days. -- `DURATION` must be an integer between 1 to 365 (inclusive). This allows the rental companies to handle rental transactions from 1 day to 365 days (a year). +- `DURATION` must be an integer between 1 and 365 (inclusive). This allows the rental companies to handle rental transactions from 1 day to 365 days (a year). - `/s` identifier specifies the start date of the rental. -- `START_DATE` is in the format of [dd-MM-yyyy], accepting integers input only. It must be a valid date in the calender. +- `START_DATE` is in the format of [dd-MM-yyyy], accepting integers input only. It must be a valid date in the calendar. **Example:** `add-tx /c SZZ1579D /u John /d 15 /s 11-05-2025` @@ -493,7 +496,7 @@ The transactions are displayed in the same format as list-txs. **Format:** `find-txs-by-customer /u [CUSTOMER_NAME]` - `/u` identifier specifies the Customer Name. -- `CUSTOMER_NAME` must match an existing customer in the customer list. This is not case sensitive, 'john' and 'John' is the same. +- `CUSTOMER_NAME` must match an existing customer in the customer list. This is not case-sensitive, 'john' and 'John' is the same. **Example:** `find-txs-by-customer /u John` diff --git a/docs/diagrams/KennethRemoveCustomerDiagram.puml b/docs/diagrams/KennethRemoveCustomerDiagram.puml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/team/SemiColonKen.md b/docs/team/SemiColonKen.md deleted file mode 100644 index dddba341db..0000000000 --- a/docs/team/SemiColonKen.md +++ /dev/null @@ -1,44 +0,0 @@ -# Kenneth Tan - Project Portfolio Page - -## Project: CliRental - -CliRental is a straightforward, user-friendly application designed to help manage car rental operations efficiently. -Built with Java, this app allows users to track rental transactions, manage customer information, -and monitor car availability through a series of command-line commands. Key functionalities include -adding and removing customers, logging rental transactions, checking car availability, -and marking transactions as completed. Designed for quick access and ease of use, -this app is ideal for small to mid-sized rental services looking to streamline operations without a complex interface. - -## Summary of Contributions - -### Features added - -`Feature 1` : Add the ability to remove customers details from the database. - -* What it does : Allows user to remove a customer from our database. -* Justification: Customer details such as contact number can change, removal of customers allow the updated information -to be added afterwards. It also important to allow removal when details have been entered wrongly. -* Highlights: This command allows user to remove customer which is the building blocks for our application. Without the - ability to remove customers , the app would not achieve its intended use. - -`Feature 2` : Add the ability add a rental transaction into the database - -* What it does : Allows user to add a rental transaction into the database using information from the car and the customer -* Justification: To allow management of rental transaction, it is essential to add a rental transaction into the database. -This allows the user to keep a record of all rental transactions that have occurred which can then be view later on. -* Highlights: This command allows user to add a rental transaction which is the part of the main feature for our -application, rental management Without the ability to add transaction, the app would not serve its purpose. - - -### Enhancements to existing features: -* Worked with rexkoh425 to save Transaction ID -* Added case insensitive features for some commands, e.g remove-user and add-tx - -### Documentation: -#### User Guide: -Added documentation for the features e.g. remove-user and list completed transactions. -Added sample outputs to match the latest release - -### Code Contribution - -Code contributed: https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=SemiColonKen&breakdown=true diff --git a/docs/team/semicolonken.md b/docs/team/semicolonken.md new file mode 100644 index 0000000000..2faf47ba83 --- /dev/null +++ b/docs/team/semicolonken.md @@ -0,0 +1,82 @@ +# Kenneth Tan - Project Portfolio Page + +## Project: CliRental + +CliRental is a straightforward, user-friendly application designed to help manage car rental operations efficiently. +Built with Java, this app allows users to track rental transactions, manage customer information, +and monitor car availability through a series of command-line commands. Key functionalities include +adding and removing customers, logging rental transactions, checking car availability, +and marking transactions as completed. Designed for quick access and ease of use, +this app is ideal for small to mid-sized rental services looking to streamline operations without a complex interface. + +## Summary of Contributions + +### Features added + +`Feature 1` : Add the ability to remove customers details from the database. + +* What it does : Allows user to remove a customer from our database. +* Justification: Customer details such as contact number can change, removal of customers allow the updated information +to be added afterward. It is also important to allow removal when details have been entered wrongly. +* Highlights: This command allows user to remove customer which is the building blocks for our application. Without the + ability to remove customers , the app would not achieve its intended use. + +`Feature 2` : Add the ability to add a rental transaction into the database + +* What it does : Allows user to add a rental transaction into the database using information from the car and the customer +* Justification: To allow management of rental transaction, it is essential to add a rental transaction into the database. +This allows the user to keep a record of all rental transactions that have occurred which can then be view later on. +* Highlights: This command allows user to add a rental transaction which is the part of the main feature for our +application, rental management Without the ability to add transaction, the app would not serve its purpose. +* Difficulty of task: It is tedious to make sure that the transactionID is only generated when a valid transaction +has been successfully added and the transactionID is generated incrementally but not randomly. There is a need to have a +counter to increment the ID but the counter will not be stored when the program exit as the program only stores the +transactionID. It is necessary to compare the transactionID from the transactionData store and +update the transactionCounter which was not stored to match the saved file. + + +### Enhancements to existing features: +* Worked with rexkoh425 to save Transaction ID +* Added case-insensitive features for some commands, e.g. remove-user and add-tx +* Added junittest for for customer removal + +### Documentation: +#### User Guide: +Added documentation for the features e.g. remove-user and list completed transactions. +### Adding a Transaction: `add-tx` + +Adds a new rental transaction to the system. + +To add transaction bearing either an existing license plate number and/or customer name, all previous transactions containing either both or one of the parameter must be either marked as completed or be removed from the transaction list. + +**Format:** `add-tx /c [LICENSE_PLATE_NUMBER] /u [CUSTOMER_NAME] /d [DURATION] /s [START_DATE: dd-MM-yyyy]` + +- `/c` identifier specifies the license plate number of the car the customer wants to rent. +- `LICENSE_PLATE_NUMBER` must match an existing car in the database. This is unique as the program will not allow 2 cars to have the same license plate number. + + +- `/u` identifier specifies the name of the customer. +- `CUSTOMER_NAME` must match an existing customer in the database. This is unique as the program will not allow 2 customers to have the same name. + + +- `/d` identifier specifies the duration of the rental in days. +- `DURATION` must be an integer between 1 and 365 (inclusive). This allows the rental companies to handle rental transactions from 1 day to 365 days (a year). + + +- `/s` identifier specifies the start date of the rental. +- `START_DATE` is in the format of [dd-MM-yyyy], accepting integers input only. It must be a valid date in the calendar. + +**Example:** +`add-tx /c SZZ1579D /u John /d 15 /s 11-05-2025` + +**Sample Response:** +``` +Transaction added: +[ ] TX2 | SZZ1579D | John | 15 days +Start Date: 11-05-2025 | End Date: 26-05-2025 +``` +Added sample outputs to match the latest release + +### Code Contribution + +Code contributed: https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=SemiColonKen&breakdown=true