Description
High-Level Requirements:
Extend Assignment #1 for the online retailer to add the following features:
All accounts login information must be stored in SQL database
(MySQL)
All Customers transactions/orders must be stored in SQL
database (MySQL)
All order updates to insert/delete/update orders must be
reflected in the MySQL database; not only the HashMap objects
Customer must be able to submit product reviews
Product reviews must be stored in NoSQL database (MongoDB)
Add Trending & Data Analytics feature (detailed below)
All new code added for MySQL shall be placed in a class called
MySQLDataStoreUtilities.java
All new code added for MongoDB shall be placed in a class called
MongoDBDataStoreUtilities.java
You must have in your MySQL database at least 10 store locations
with their addresses (StoreID, street, city, state. Zip-code) for
in-store-pickup orders
You must have in your MySQL database at least 20 customers with
their addresses (customer name, street, city, state. Zip-code)
You must have in your MySQL database at least 20 transactions
for customers in your database
You must enter at least 20 reviews submitted by the customers
who bought products with their address (customer name, street,
city, state. Zip-code)
Your transaction when placing an order for home-delivery or instore pickup must have at least the following attributes:
1. user_id
2. Customer name
3. Customer Address (shipping address)
4. credit card number
5. orderId
6. purchaseDate
7. shipDate
8. productId
9. category
10. quantity
11. price
12. shippingCost for home delivery
13. discount
14. total-sales
15. Store_ID for in-store pickup
16. Store_ Address (street, city, state, zip)
Required Functionalities:
Extend Assignment #1 to use MySQL and MongoDB database
engines to support the following functionalities.
Use MySQL to store all store locations
Use MySQL to store all Products
Use MySQL to store all accounts login information
Use MySQL to store All Customers transactions/orders
Consider creating a table for Stores, Products, Customers, and
Transactions in your MySQL database
Extend Assignment #1 in order to allow the customer to write and
submit a Product Review online that has the following form:
1. ProductModelName: Samsung Galaxy 6
2. ProductCategory: phone
3. ProductPrice: $499
4. StoreID: SmartPortables of Chicago
5. StoreZip: 60616
6. StoreCity: Chicago
7. StoreState: IL
8. ProductOnSale: Yes
9. ManufacturerName: Samsung
10. ManufacturerRebate: Yes
11. UserID: whksa8
12. UserAge: 24
13. UserGender: Male
14. UserOccupation: accountant
15. ReviewRating: 4
16. ReviewDate: 12/15/2019
17. ReviewText: It has excellent video/audio clarity, however, it overheats after 5 hours of
use
Extend Assignment #1 to add Trending link on the left navigation
bar that the user can use to see trends for sold products
Once the user clicks the Trending, the user must be presented
with :
1. Top five most liked products
2. Top five zip-codes where maximum number of products sold
3. Top five most sold products regardless of the rating
Product Review Form:
The product review Form has the following fields:
1. ProductModelName: Samsung Galaxy 6
2. ProductCategory: phone
3. ProductPrice: $499
4. StoreID: SmartPortables of Chicago
5. StoreZip: 60616
6. StoreCity: Chicago
7. StoreState: IL
8. ProductOnSale: Yes
9. ManufacturerName: Samsung
10. ManufacturerRebate: Yes
11. UserID: whksa8
12. UserAge: 24
13. UserGender: Male
14. UserOccupation: accountant
15. ReviewRating: 4
16. ReviewDate: 12/15/2019
17. ReviewText: It has excellent video/audio clarity, however, it overheats after 5 hours of
use

