GithubHelp home page GithubHelp logo

hacknsit's Introduction

#Foodify

#Objective: The goal of our app is to track nutritional content of what you consume with a simple snap of your food item. The app processes the image of a food item, retrieves nutritional content and also suggests recipes based on your daily calorie limit goal.

##Code Organization

We started with a GitHub Organization to organize our code. We had separate repositories for our Backend API and Android App. We have utilized Github efficiently as our VCS by creating branches and set up a webhook to Heroku to automatically deploy new builds whenever new code is pushed.

Tech Stack: We used Python (Flask) for our API, Parse for the user database and Android for the mobile app. We have used CloudSight and NutritionX API and Spoonacular API. On the Android app, one of our main goals was to accomplish a low bandwidth connection to our server. Cameras on mobile device these days are capable of reproducing high quality photos measuring up to 6 MB in size. By using a simple Bitmap scaling down mechanism, we were able to reduce the size to around 200 kB, thus allowing users to use our app on low bandwidth connections like 2G.

User Flow: We built our core API on Flask(Python) and hosted it on Heroku. The image is sent as multipart data from Android App as a POST request to /upload endpoint which calls CloudSIght API to retrieve food item name and then NutritionX API is called to retrieve relevant nutritional data of that item. The daily calorie limit is set at the time of signup, and this is deducted every time a new food item is added. Using Spoonacular API we get a list of recommended recipes which are within bounds of daily calorie limit.

Documentation: We have properly documented our API endpoints for reference to other people. It is available here

Future Work: Our aim is to integrate social features into this app, provide leaderboards, share healthy food items a user recommends to his/her followers. We will include some data insights on user's food consumption and give him/her suggestions on what to consume to achieve his goal, provide visualizations, build a streak for providing an incentive to the user for eating healthy. We have already built our core API so porting this app to other platforms like iOS, web won't be much difficult.

www.youtube.com/watch?v=7d7u1zjTrcM

hacknsit.herokuapp.com/

github.com/CapsLockHacks/HackNSIT

  1. Deploy github.com/CapsLockHacks/hackNSIT-backend on heroku or use hacknsit.herokuapp.com

  2. Build android source code or use the apk provided and run app.

  3. Take photo of the food product from the app and wait for it to be processed.

  4. Voila. ======= #Foodify

##Demo Video on YouTube

Foodify Youtube Video

##Objective: The goal of our app is to track nutritional content of what you consume with a simple snap of your food item. The app processes the image of a food item, retrieves nutritional content and also suggests recipes based on your daily calorie limit goal.

##Code Organization

We started with a GitHub Organization to organize our code. We had separate repositories for our Backend API and Android App. We have utilized Github efficiently as our VCS by creating branches and set up a webhook to Heroku to automatically deploy new builds whenever new code is pushed.

Tech Stack: We used Python (Flask) for our API, Parse for the user database and Android for the mobile app. We have used CloudSight and NutritionX API and Spoonacular API. On the Android app, one of our main goals was to accomplish a low bandwidth connection to our server. Cameras on mobile device these days are capable of reproducing high quality photos measuring up to 6 MB in size. By using a simple Bitmap scaling down mechanism, we were able to reduce the size to around 200 kB, thus allowing users to use our app on low bandwidth connections like 2G.

User Flow: We built our core API on Flask(Python) and hosted it on Heroku. The image is sent as multipart data from Android App as a POST request to /upload endpoint which calls CloudSIght API to retrieve food item name and then NutritionX API is called to retrieve relevant nutritional data of that item. The daily calorie limit is set at the time of signup, and this is deducted every time a new food item is added. Using Spoonacular API we get a list of recommended recipes which are within bounds of daily calorie limit.

Documentation: We have properly documented our API endpoints for reference to other people. It is available here

Future Work: Our aim is to integrate social features into this app, provide leaderboards, share healthy food items a user recommends to his/her followers. We will include some data insights on user's food consumption and give him/her suggestions on what to consume to achieve his goal, provide visualizations, build a streak for providing an incentive to the user for eating healthy. We have already built our core API so porting this app to other platforms like iOS, web won't be much difficult.

www.youtube.com/watch?v=7d7u1zjTrcM

hacknsit.herokuapp.com/

github.com/CapsLockHacks/HackNSIT

  1. Deploy github.com/CapsLockHacks/hackNSIT-backend on heroku or use hacknsit.herokuapp.com

  2. Build android source code or use the apk provided and run app.

  3. Take photo of the food product from the app and wait for it to be processed.

  4. Voila.

hacknsit's People

Contributors

mayank26saxena avatar rhnvrm avatar

Watchers

James Cloos avatar Deepanshi Bansal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.