CliRental is a command-line application designed for car rental managers to efficiently manage and track customers, cars, and rental transactions in a centralized platform. Built to replace traditional pen-and-paper methods, CliRental provides a user-friendly, reliable solution for handling large volumes of data, streamlining operations for managers with quick data entry and tracking capabilities. Developed in Java with approximately 4,000 lines of code (LOC), this tool serves as an effective desktop app tailored to the core needs of car rental businesses.
Feature 1 : Implement Transaction Management Commands
What it does : Introduces commands to manage rental transactions, including removing transactions, marking them as complete or incomplete, listing completed or uncompleted transactions, and finding transactions by customer.
Justification: Efficient transaction management is crucial for tracking the status of rentals, ensuring cars are available when needed, and maintaining accurate records for billing and reporting purposes.
Highlights:
Feature 2 : Develop Comprehensive Unit Tests for Transaction Classes
What it does : Implements JUnit tests for all methods within the Transaction
and TransactionList
classes to ensure functionality and reliability.
Justification: Unit testing is essential for verifying that individual components of the application work as intended, facilitating maintenance, and preventing regressions during future development.
Highlights:
Feature 3 : Implement Comprehensive Input/Output (IO) Testing
What it does : Conducts full IO testing for the application, verifying that commands entered via the CLI produce the expected outputs. Tests ensure that user interactions with features like transaction management and data listing work as designed and meet the application’s functionality requirements.
Justification: IO testing is critical for confirming that the application responds correctly to user commands, providing reliable and expected results. This testing approach validates the end-to-end functionality of the application from the user’s perspective, ensuring a smooth and predictable user experience.
Highlights:
Code contributed: AaronZZ10’s Contributions
list-users
remove-tx
mark-tx
unmark-tx
list-txs-completed
list-txs-uncompleted
find-txs-by-customer