As university students, shopping for a group of items under a budget is tedious and unnecessarily time consuming. With this algorithm, staying under budget has never been easier.

What it does

This website takes a proposed budget for a list of items needed and computes the top combinations of purchases while staying within budget. Items are considered according to their ratings and number of review.

How we built it

The front end was built using Angular.js using a two column responsive design.

The backend was built using the Node.js framework with one main endpoint supporting a GET request. This GET request has query parameters specifying the categories of items we are searching for (e.g. phones, computers, tables, etc.), the quantities desired for each of them, and the price budget for all of them together. It then makes a call to the Walmart API to gather all appropriate items and returns 20 of the best combinations, best taking into account the rating and number of reviews.

Challenges we ran into

Writing an efficient algorithm so that we can return the needed data in an appropriate amount of time

Accomplishments that we're proud of

Despite numerous challenges along the way, we got a working prototype that handles most cases and also isn't too hard on the eyes.

What we learned

Angular, Node, Linode and setting up an API

What's next for SmartShopper

World domination

Share this project: