Starting from:

$30

CSE222-Homework 6 Solved

Design and implement an e-shopping application that has two user roles as usual: traders and customers. Users authenticate to the system by using their user IDs and passwords. The user ID is an eight-digit unique number and the password consists of six characters.  After the authentication process is done properly, the program shows a menu to the users with respect to their user role. The application meets the following requirements by these menus:

-        Traders add, remove, and edit products on their shop. Each product has a unique ID, a hierarchical category, a name, a description, a price, and a discount amount.

-        Traders see the list of orders from customers and can meet or cancel the orders.

-        Customers can search and query the products by their names. The products that contain the search text in their name or description should be returned in the results.  

-        The search results are shown in decreasing order of the product name. Customers can sort the products in the search results by their prices, the percentage of the discount, or the name.  

-        The search results can be filtered by their category or the prices with respect to given upper or lower (or both) thresholds. The customer can filter the products not only in the lowest level category but also in any higher-level category.   

-        Customers can display all the products of a trader.  

Use the following five data structures properly (do NOT use simple array structure) to implement functionalities of the application efficiently:

-        ArrayList

-        LinkedList

-        Queue

-        Tree

-        Hash Table

You need to use each of them at least once, but you feel free to use more than once when you needed. Indicate which data structure is used to implement which part of the application and why you do it so in the report file. Use different sorting algorithms (your implementation) while sorting the search results by the price, the discount percentage, or the name.

There is a CSV file on the Moodle page which is named as “e-commerce-samples.csv”. Use the given csv file to create your data files. Keep the users, the orders, and the products data in your own text files. When a customer performs a search, you need to access to the products file, and return the suitable products as the result of the search. Don’t load all the products into the memory. You need to keep products in a well-organized data file for products to answer queries efficiently.

More products