GithubHelp home page GithubHelp logo

brian-e-haley / eatinerary Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 2.0 9.32 MB

Leaflet map of restaurants across the GTA filterable by their city and Yelp rating

License: MIT License

Python 16.81% CSS 9.58% JavaScript 32.83% HTML 40.71% Shell 0.07%

eatinerary's Introduction

Project Name: EATinerary

Members: Brian and Anna Francesca Gatus

Linked repos: EATinerary-ETL

Heroku deployment

EATinerary

In this present generation, there exists a distinct hobbyist group called foodies. These are people who eat not only out of necessity but also for passion to savor a multitude of taste and flavors. Aside from these foodies, a growing number of consumers dine at restaurants or order to go. We live in a fast-paced world and majority of people don’t have time nor inclination to cook.

Research takes a lot of time. However, it is unavoidable because foodies can be extremely picky on where to eat. Some parents require a kid friendly restaurant. Dog lovers need a place to dine comfortably with their pets. Based on personal experience, eating with a group is tricky - One friend needs wheelchair access, another companion needs a gluten-free meal, while some are only available late at night. We find ourselves searching multiple websites to plan a food trip. In order to solve this problem, we gathered Yelp’s dataset and built an interactive restaurant web application called EATinerary.

The home page displays forms for the users to input their restaurant preferences. We incorporated an auto-complete function on the city search for a good user experience. The application also allows individuals to choose an accessibility requirement and a dietary requirement. Upon submission, an EATinerary map is generated. It plots suggested locations on a map, with tooltip that displays restaurant information. This makes user research quick and easy. In addition, this can also be a very useful business tool for targeting specific consumer needs and niche marketing. Afterall, no single restaurant has a universal appeal.

A little more information...

We actually kept the older version of this app which you can view here. It allows the user to pick a city and minimum star rating of a restaurant to generate an EATinerary map. On the map itself, the user can further filter by 15 categories that we randomly selected. Although the application is fully functional, it does not run as fast as we wanted due to the massive dataset. This is why decided to build a new and improved application. For optimization, we changed our database to mySQL (previously MongoDB). We also downsized our data by excluding cities that have less than 25 restaurants with reviews. We included more filters prior to generating a map. For aesthetics, we made a page loader and an animated background.

Requirements

  1. Python 3.6.8
  2. pip
  3. SQLAlchemy==1.3.5
  4. Flask_SQLAlchemy==2.4.0
  5. PyMySQL==0.9.3
  6. Flask==1.1.1
  7. simplejson==3.16.0

Steps

  1. Ensure you have run the ETL process
  2. Create a config.py in the Eatinerary-ETL folder and include conn=user:pass@host
  3. Run app.py

eatinerary's People

Contributors

brian-e-haley avatar cheskagatus avatar

Watchers

 avatar

eatinerary's Issues

app.py issue

While testing multiple times, all of a sudden, the autocomplete stopped. When I typed Toronto manually and hit submit, the sorry no results message box popped up. Then I checked git bash, it states: sqlalchemy.exc.TimeoutError: QueuePool limit of size 10 overflow 10 reached, connection timed out, timeout 30 (Background on this error at: http://sqlalche.me/e/3o7r

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.