Giter Site home page Giter Site logo

xantrac / pane-and-olio Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 324 KB

1. Find you favorite recipe 2. Check if have the ingredients (or substitutes!) 3. Send the grocery list by sms or email. Buon appetito!

HTML 0.97% CSS 0.36% JavaScript 98.67%

pane-and-olio's Introduction

Pane & Olio


Pane & Olio is the ultimate cooking app.

  • Recipe search
  • Cookbook
  • Ingredients substitutes
  • Fill your grocery list and send it by text or mail
  • Retrieve the list of closest grocery stores
  • Social authentication
  • UPDATE! Search recipies with Google Home/Assistant

Background

Pane & Olio is the 4th project as student at General Assembly


Goals

The purpose of this project is to apply and integrating all the knowledge, tools and techniques learned during the Web Development Intensive program.


Use Pane & Olio

https://pane-and-olio.herokuapp.com


Specifics

The application's architecture solves the following probelms:

Authentication: The authentication system is managed by a third party API "auth0" holding its own remote database, the first challenge was integrating the local MongoDB database and keeping it constantly synchronized with authentication actions.

Data retrieving: The database stores only the necessary references to effectively retrieve the correct data from the Food API. The challenge was relating the stored references and the user preferences with the incoming data and displaying it accordingly.

Visualization: The front-end was built with React-JS allowing the separation of concern for every specific component. The challenge was integrating the user interaction, the data store in the database and the data incoming from the external API in a cycle of: Interaction > Fetching > Storing > Returning > Display. Every active component communicates both with the API and the DB allowing the user to interact with the retrieved data and retain those data making it available later.

Voice Control A vocal search can be triggered using Google Home or Google Assistant. The device collect the voice input, google Dialog flow AI tranlate into a string and Google Cloud server send the JSON file through a post request to my server. In the route a websocket send the parsed JSON file and sent to the React Client which call the recipe API with the resulting string.


  • Front end: React.js
  • Server: Node.js + Express.js
  • Database: MongoDB + Mongoose
  • Cloud Environment: HerokuApp

Project Material

Project Management

Trello

ERD

Picture

WireFrame

Realized with Balsamiq Picture


Resources

Food API

Google Places API

Twilio SMS API

Auth0 Authentication


Libraries

CSS : Styled-Components

Websockets : Pusher.js

Symbols : React-Icons

Email : Nodemailer

JS enhancer : Loadash

Alert messages : React-alert

pane-and-olio's People

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.