Assignment #2
Due Date: 10/11/20 by 11:59pm
Deliverable:
Use the object-oriented design principles and utilize the MVC architecture discussed in the class to produce an object-oriented web-based enterprise application that is reusable, flexible, and extensible.
Use Servlets to implement the functionalities listed below.
Record 10 minutes demo of your assignment’s run using screencast. The tool can be downloaded from this URL http://screencast-o-matic.com/home
Capture most important 10 screen-shots of your output and save them in a file called output.pdf
All source code and byte code shall be submitted.
Readme text file that illustrates how to compile/install/run
your application
Post your homework as a single zipped file on Blackboard
with the name “HW2_YourLastName,FirstName”
Important Notes:
NO IDE to be used in any shape/form in the
implementation of this assignment
Do NOT communicate or share your assignment with
others
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 in- store 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