Your local charity shop has asked you to develop a software system to manage its intake and the sale/hire of the items it stocks. The system will be used by employees (shop assistants and managers) of the store.
An employee should initially be presented with a login message. The employee logs in as either a shop assistant or a manager.
After logging in, a shop assistant should be able to initiate a transaction by entering a list of codes for items and associated quantities. The system should check the stock to see if each item is in stock. If it is, then appropriate details with respect to the item and the quantity should be output to the screen. The total cost of the transaction should also be output. An option to purchase/hire items should also be presented. If the customer agrees to continue with the transaction, then an appropriate receipt including date and time of the transaction, item code/name, quantity, unit cost and total cost should be issued. The stock should be updated to reflect the transaction. The system should keep track of the items and quantities involved in each transaction. Additional charges should apply if items hired are not returned by the due date.
A manager in the store can retrieve the following information from the system:
The system should keep track of stock, sales and employee details. This information should be stored in external csv files. The names of these files should be supplied when the application is run.
A text based interface for the system is required.
This project must be implemented in the Java programming language. As can be seen from the deliverables below this project is not just an implementation project, it also involves design and documentation.
The following are the deliverables for the project: