Kaushalya193/e19-co227-Online-Retail-System
This is a Online retail system . Users can act as Customers or Store Owners. Customers can add and remove items from their cart and simulate payment. Store Owners can add and remove items.
Online Retail System Project
Description
The Online Retail System project aims to create an e-commerce platform with functionalities similar to eBay, focusing on a limited set of use cases. The project also has the potential to incorporate a recommender system to enhance the customer experience. The system will have two primary roles: Customers and Store Owners.
Project Page
You can find more information about this project on our Project Page.
Repository
The source code for this project can be found in our GitHub Repository.
Technology Stack
The project allows students to choose technologies they are comfortable with. Some possible technology choices could include:
- Front-end: HTML, CSS, JavaScript, React
- Back-end: Node.js
- Database: MySQL
- Recommender System: Apriori algorithm
Role: Customer
Tasks
-
Add Customer Details: Customers can create accounts and provide their personal details like name, email, and shipping address.
-
Initiate Shopping Cart: Customers can initiate a shopping cart, which will be used to accumulate selected food items.
-
Add Food Items to Shopping Cart: Customers can browse the available food items and add them to their shopping carts.
-
Remove Food Items from Shopping Cart: Customers can remove food items from the shopping cart if they change their minds.
-
Complete Payment: The project doesn't require actual payment implementation. Instead, it should display the total amount of the items in the shopping cart.
Role: Store Owner
Tasks
-
Add Food Items: Store owners can add new food items to the system, specifying details like name, description, price, and availability.
-
Remove Food Items: Store owners can remove food items that are no longer available or relevant.
Additional Use Case: Recommender System
Implementing a recommender system can significantly enhance the customer experience by suggesting relevant food items based on their preferences and browsing history.
Suggested Algorithm: Apriori Algorithm
The Apriori algorithm is a classic association rule mining algorithm used to discover frequent itemsets in a transactional database. It's suitable for recommendation purposes as it identifies sets of items that often appear together. Here's a simplified explanation of how the Apriori algorithm works:
-
Frequent Itemsets Generation: The algorithm starts by finding all individual items' frequencies in the transactional data. Items that meet a predefined support threshold are considered frequent itemsets of size 1.
-
Combining Frequent Itemsets: Frequent itemsets of size 1 are combined to generate candidate itemsets of size 2. These candidates are checked against the database to determine their support. Only those that meet the threshold are considered frequent.
-
Iterative Process: The algorithm continues this process, generating candidate itemsets of larger sizes and verifying their frequency against the database until no more frequent itemsets can be found.
-
Association Rule Generation: From the frequent itemsets, association rules are generated by splitting itemsets into antecedents and consequents. These rules help identify which items tend to be purchased together.
By implementing the Apriori algorithm, the recommender system can suggest complementary food items to customers based on their current selections, increasing the likelihood of upselling and enhancing the overall shopping experience.
Conclusion
The Online Retail System project offers an opportunity to create an e-commerce platform with basic functionalities for customers and store owners. Incorporating a recommender system, particularly using the Apriori algorithm, can elevate the project by providing personalized food item suggestions to customers, leading to increased engagement and potential sales. Students are encouraged to use technologies they are comfortable with to build this system effectively.