Inspiration
Living in Vancouver has become increasingly challenging due to rising living costs, particularly in grocery expenses. In response to this trend, many grocery chains offer competitive price matching to attract customers. Our application is tailored to this practice, allowing users to input any grocery store (assuming price matching) and ensure they receive the best pricing for their grocery list items.
What it does
The application scrapes real-time pricing data for a user's specified grocery list from three major grocery store chains (NoFrills, Superstore, Save-on-Foods) and identifies the best store for each item based on pricing. Considering that items may have multiple varieties and sizes, the comparison is done based on unit weight for each item. Once the pricing information is retrieved, each grocery list item is accompanied by a supplementary table displaying the specific item used for price comparison across the three stores, along with additional details such as a link to the store's online page.
How we built it
React.js, Node.js (frontend)
AWS Lambda, API Gateway, MongoDB (backend)
Python, Selenium (for web scraping)
Challenges we ran into
- Becoming proficient in backend services like AWS Lambda
- Learning to build reactive frontend using React
- Addressing challenges with our price scraper to ensure optimal performance on dynamic webpages like those of No Frills and Superstore
- CORS issues when connecting frontend to backend
Accomplishments that we're proud of
- Fetching dynamic content from No Frill's and Superstore using Selenium
- Collaborating as a team to deliver a unified solution, especially considering that two members are new to the team
- Learning React to develop a complete frontend page
What we learned
- Developing frontend webpages using React
- Integrating backend services with MongoDB, and establishing communication between our frontend and backend to enable seamless data exchange between the two services
- Using Python and Selenium to scrape grocery price data
What's next for Grocery Store Price Tracker
- Incorporate more grocery store chains and potentially use this application to price match items in different categories (ie. Technology)
- Leverage NLP and unsupervised learning to ensure the grocery store search query results are most relevant
Log in or sign up for Devpost to join the conversation.