diff --git a/README.md b/README.md index 376126b..04f44e1 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,24 @@ -# SE-Fall-21-Project-22 +# SmartShopper +### SE-Fall-21-Project-22 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Build Status](https://app.travis-ci.com/chandur626/SE-Fall-21-Project-22.svg?branch=main)](https://app.travis-ci.com/chandur626/SE-Fall-21-Project-22) [![Build Status - GitHub](https://github.com/chandur626/SE-Fall-21-Project-22/workflows/pytest/badge.svg)](https://github.com/chandur626/SE-Fall-21-Project-22/actions?query=workflow%3Apytesting) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5372667.svg)](https://doi.org/10.5281/zenodo.5372667) - Unit testing with pytest. +### Introduction to SmartShopper +Have you ever bought a product only to find out your friend bought the same product at a cheaper price? Searching for deals can be time-consuming which is why we created SmartShopper, a webapp designed to help users find the cheapest price of their desired product. All users need to do is search for their desired product in the search bar and the webapp outputs the product pricing at various bigbox retailers such as Walmart, Target, and Costco. Our current iteration requests users to upload a .csv file of retailer links to webscrape from and input keywords, via a search bar, to grab relevant information of the desired product. Product information is then displayed back to the user. This document aims to help future developers understand the current foundation of the project and give guidance on how to setup the project locally to improe the webapp further. + +Our developments in SmartShopper were achieved using the following technologies: Python3, Django, HTML, CSS, BeautifulSoup (ADD REMAINING TECHNOLOGIES HERE) Any developers who wish to improve Smartshopper should have these technologies installed before proceeding. + + +### What SmartShopper doing under the hood +![SmartShopperInternals](https://i.imgur.com/SYvKoeA.jpg) + +A User looking for a product makes a search via a search bar on the user interface. SmartShopper extracts certain keywords from the search. Using an existing .csv file with links to bigbox retailers like Target and Walmart, the program establishes a connection to these retailer links. The program then webscrapes from the links to find the product's general information (name, description, and price) matching that of the keywords extracted from the user search. Products are then outputted to the user interface for the user to view which retailers provide the cheapest price. + + ### Quickstart Clone the repository, install the dependencies and invoke the unit tests: @@ -30,4 +42,17 @@ Run pytest command in the repository root. ### Adding own unit tests -To add custom unit tests, create a new python file with **test_** functions under test directory or edit the existing test_operations.py file. \ No newline at end of file +To add custom unit tests, create a new python file with **test_** functions under test directory or edit the existing test_operations.py file. + + +### Goals for the future +* Maybe the user couldn't find the right price on the date they searched? Create functionality that lets users input a product budget and a personal email/account. SmartShopper will continually search for the product and email the user when the product price has fallen into the user's budget. + +* What if a user is interested in In-Store pickup? Implement location-specific filters that is more customized to the user's location. + +* What if users want to see previous searches? Implement temporary storage that tracks a users recent search results. + +* Maybe the best price isn't at a bigbox retailer. Create a wider search across a diverse list of stores to find the cheapest price. + +### Team Members +