Skip to content

Commit

Permalink
add screenshots
Browse files Browse the repository at this point in the history
  • Loading branch information
rajashravan committed Sep 16, 2018
1 parent 903cc38 commit 886a41a
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 20 deletions.
25 changes: 5 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
## tl;dr
If you ever find yourself in a situation where you need to store a certain number of objects in a limited space (like a backpack or suitcase) but don't have enough space to store everything, PackBuddy is your **buddy**! More specifically, if you are travelling and all of your items were bought with different currencies, PackBuddy converts everything for you and tells you which souvenirs to keep, and which to sadly throw away at the airport. But hey, maybe next time you'll learn not to keep that 3kg rock you found in Peru because it was _ lucky _.

## Inspiration
Being two people that have travelled a decent amount (with girlfriends who travel a lot more), we are no stranger to trying to travel with more stuff than we can bring. In addition, we both took a Combinatorics and Optimization class together and were fascinated by one particular problem, the Knapsack Problem.

PackBuddy solves the aforementioned problem by implementing a cool optimization algorithm.
# PackBuddy
If you ever find yourself in a situation where you need to store a certain number of objects in a limited space (like a backpack or suitcase) but don't have enough space to store everything, PackBuddy is your **buddy**! More specifically, if you are travelling and all of your items were bought with different currencies, PackBuddy converts everything for you and tells you which souvenirs to keep, and which to sadly throw away at the airport. But hey, maybe next time you'll learn not to keep that 3kg rock you found in Peru because it was *lucky*.

## What it does
The Knapsack Problem is a problem in Combinatorial Optimization, where we have a certain number of objects, each with their own value and weight. We can't fit everything in our knapsack, so how do we pick our objects to maximize the amount of value of our knapsack?
Expand All @@ -16,16 +11,6 @@ PackBuddy is able to take in all this information (name of the object, weight an
## How we built it
Seeing as this use case would best be suited for a mobile app, we built PackBuddy as an Android App. Currency Conversion was implemented using XE's Currency Data API and we used a general purpose optimization algorithm to solve the Knapsack problem, with a few of our own modifications.

## Challenges we ran into
Learning how to use Web Requests in Android turned out to be a highly challenging ordeal that took us by surprise.
Ran into many dependency issues with Android, including some that led us starving over with a different Android OS version.
The Knapsack algorithm we found only accommodated integers, not doubles (like for prices), and started indexing arrays at 1 instead of 0 for some wacky reason. Modifying this algorithm to better suit our purposes took some effort.
We initially tried to integrate an image recognition API that would allow users to take pictures of receipts, but ended up taking too much time and was scrapped.

## Accomplishments that we're proud of
Getting it done! Honestly, there were times when we really stressed out and ran into challenges and weren't sure if we could even get a basic MVP done. Luckily, we pushed through and while it isn't pretty - it works! Perseverance definitely paid off.

## What we learned
iOS > Android. Nah jk, but we learned that theres a lot of smaller issues that can be hard to catch when developing on Android, but that a careful debugging session can quickly resolve these (some Stack Overflow helps too). We also learned how to use web requests with Android, how to make an OK looking Android and improved our dev skills overall.

## What's next for PackBuddy
## Screenshots
<img src="screenshots/before.png" alt="drawing" width="200"/>
<img src="screenshots/after.png" alt="drawing" width="200"/>
Binary file added screenshots/after.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshots/before.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 886a41a

Please sign in to comment.