Key Information

Register
Submit
The challenge is finished.

Challenge Overview

The purpose of this contest is to show the competitive products information on the product details page in the Product Inventory web application. 
The following updates should be made to the web application:
* Add a new "Competitive Products" tab to the product details page (only display this tab if the product has competitive products)
* On the new tab, we should display the Name, the ProductNumber, the Brand Name, the Best Selling Rank, the Price and the Ratings for the associated competitive products.   
* There should be a link (through either Name or Product Number) to allow users to click through and see the competing product details just like you would able to do with an HP product

The following updates should be made to the hp_product_rest_api:
* The get product details API should be updated to have an additional "competitiveProducts" parameter (true or false) indicating the competitive products should be returned or not.
* We have a competitive products table which associates products to each other, and HP products have a relationship to 5 competitive products ranked by Best Buy Best Selling Rank

Aside the competitive products requirement above, we now have an availabilityStatus field in the Product table, which tells us at product level that the product is available (AVL) or unavailable(UNAVL). We would like to update the status values in the webapp and rest-api to be based on this new data. 
On the web page, please also display a latest-status-update-date below the status, which maps to the parseDate in the Product table. 
Note that we now have 3 possible statuses: Available, Unavailable, Unknown; there is no Removed status anymore.   Unknown reflects a null value in the Availability Status field.

Final Submission Guidelines

- Upload all your source code in a zip file.
- Provide documentation for your application. It should contain complete build, deployment, and execution instructions.
- Screen sharing video is not required for this application.
- You should use the existing code found in the GitHub repositories as the starting point for this application.  The details for the GitHub repositories can be found in the Code Document forums attached to this challenge.
- This application uses the Vertica database as a persistence layer.  We have a docker script which configures this database for you.  The details can be found in the Code Document forums attached to this challenge.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30055635