region:us
#### C. Customize the HTML user interface for your customer’s application. The user interface should include the shop name, the product names, and the names of the parts.  

<b>File Name</b>: mainscreen.html, styles.css  
<b>Line Number</b>: mainscreen.html: 14-17, 22, 24-54, styles.css: all  
<b>Change</b>: I added a favicon and updated the page title, linked a stylesheet, replaced the store name with a logo, and added a list of beverages served and their ingredients. I also added a stylesheet called styles.css.

<hr>

#### D. Add an “About” page to the application to describe your chosen customer’s company to web viewers and include navigation to and from the “About” page and the main screen.

<b>File Name</b>: header.html, about.html, mainscreen.html, MainScreenControllerr.java, styles.css  
<b>Line Number</b>: header.html: all, about.html: all, mainscreen.html: 22, MainScreenControllerr: 55-59, styles.css: 14-21, 24-27  
<b>Change</b>: I added a reusable header for navigation on various webpages, currently including mainscreen and about. I added the header in mainscreen. I created about, including the header and a description of the business, the products, and the business's commitment. I added a mapping to /about in MainScreenControllerr.java.  

<hr>

#### E. Add a sample inventory appropriate for your chosen store to the application. You should have **five** parts and **five** products in your sample inventory and should not overwrite existing data in the database. 
_Note: Make sure the sample inventory is added only when both the part and product lists are empty. When adding the sample inventory appropriate for the store, the inventory is stored in a set so duplicate items cannot be added to your products. When duplicate items are added, make a “multi-pack” part._

<b>File Name</b>:  
<b>Line Number</b>:  
<b>Change</b>:

<hr>

#### F. Add a “Buy Now” button to your product list. Your “Buy Now” button must meet **each** of the following parameters:  
   - The “Buy Now” button must be next to the buttons that update and delete products.  
   - The button should decrement the inventory of that product by **one**. It should not affect the inventory of any of the associated parts.  
   - Display a message that indicates the success or failure of a purchase.

<b>File Name</b>:  
<b>Line Number</b>:  
<b>Change</b>:

<hr>

#### G. Modify the parts to track maximum and minimum inventory by doing the following:  
   - Add additional fields to the part entity for maximum and minimum inventory.  
   - Modify the sample inventory to include the maximum and minimum fields.  
   - Add to the InhousePartForm and OutsourcedPartForm forms additional text inputs for the inventory so the user can set the maximum and minimum values.  
   - Rename the file the persistent storage is saved to.  
   - Modify the code to enforce that the inventory is between or at the minimum and maximum value.

<b>File Name</b>:  
<b>Line Number</b>:  
<b>Change</b>:

<hr>

#### H. Add validation for between or at the maximum and minimum fields. The validation must include the following:  
   - Display error messages for low inventory when adding and updating parts if the inventory is less than the minimum number of parts.  
   - Display error messages for low inventory when adding and updating products lowers the part inventory below the minimum.  
   - Display error messages when adding and updating parts if the inventory is greater than the maximum.

<b>File Name</b>:  
<b>Line Number</b>:  
<b>Change</b>:

<hr>

#### I. Add at least **two** unit tests for the maximum and minimum fields to the PartTest class in the test package.

<b>File Name</b>:  
<b>Line Number</b>:  
<b>Change</b>:

<hr>

#### J. Remove the class files for **any** unused validators to clean your code.

<b>File Name</b>:  
<b>Line Number</b>:  
<b>Change</b>: