All Projects β†’ octohedron β†’ TouristFriend

octohedron / TouristFriend

Licence: MIT license
πŸŒ† TouristFriend API lets you query Google Places, Yelp and Foursquare at the same time, with Bayesian rankings!

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to TouristFriend

Guesstimator
🍻Uses Google, Yelp, and Foursquare APIs to retrieve and rank bars
Stars: ✭ 84 (+180%)
Mutual labels:  yelp, google-places
salsa
A tool for exporting iOS components into Sketch πŸ“±πŸ’Ž
Stars: ✭ 62 (+106.67%)
Mutual labels:  yelp
Geolocator-2
Learn how to find and work with locations in Django, the Yelp API, and Google Maps api.
Stars: ✭ 24 (-20%)
Mutual labels:  yelp
Copycat-abstractive-opinion-summarizer
ACL 2020 Unsupervised Opinion Summarization as Copycat-Review Generation
Stars: ✭ 76 (+153.33%)
Mutual labels:  yelp
random-restaurant-generator
An Android app that queries Yelp's API for a random restaurant near you
Stars: ✭ 15 (-50%)
Mutual labels:  yelp
google-maps-places-geolocation-for-your-ionic-app
Ionic example app of how to add Google maps, places, geolocation and related features into an Ionic Framework app.
Stars: ✭ 13 (-56.67%)
Mutual labels:  google-places
HelpOff
Providing help via offline system : Runner-Up at NMIMS Hackathon 2018
Stars: ✭ 20 (-33.33%)
Mutual labels:  google-places
ngx-google-places-autocomplete
Google Places autocomplete for angular web project
Stars: ✭ 85 (+183.33%)
Mutual labels:  google-places
flutter google places picker
Google Places Autocomplete for Flutter
Stars: ✭ 20 (-33.33%)
Mutual labels:  google-places
food-help
A clone of popular food and business review web app yelp
Stars: ✭ 24 (-20%)
Mutual labels:  yelp
YelpDatasetSQL
Working with the Yelp Dataset in Azure SQL and SQL Server
Stars: ✭ 16 (-46.67%)
Mutual labels:  yelp
PlanSum
[AAAI2021] Unsupervised Opinion Summarization with Content Planning
Stars: ✭ 25 (-16.67%)
Mutual labels:  yelp
mvp-sample
Demonstrates how to implement MVP (Model View Presenter) pattern using Kotlin, RXJava, Retrofit, Dagger and DataBinding
Stars: ✭ 35 (+16.67%)
Mutual labels:  google-places
detect-secrets
A developer-friendly secrets detection tool for CI and pre-commit hooks based on Yelp's detect-secrets
Stars: ✭ 43 (+43.33%)
Mutual labels:  yelp
casper
Yelp's internal caching proxy, powered by Nginx and OpenResty at its core
Stars: ✭ 81 (+170%)
Mutual labels:  yelp
chowist
Great places are chosen by great chowists
Stars: ✭ 13 (-56.67%)
Mutual labels:  yelp
Paasta
An open, distributed platform as a service
Stars: ✭ 1,569 (+5130%)
Mutual labels:  yelp
pre-commit
pre-commit hook terraform; pre-commit hook prometheus
Stars: ✭ 35 (+16.67%)
Mutual labels:  yelp
Android-Google-Places-API
An easy implementation of Google Places API in Android https://developers.google.com/places/web-service/
Stars: ✭ 53 (+76.67%)
Mutual labels:  google-places
word-embeddings-from-scratch
Creating word embeddings from scratch and visualize them on TensorBoard. Using trained embeddings in Keras.
Stars: ✭ 22 (-26.67%)
Mutual labels:  yelp

TouristFriend

TouristFriend is an API for searching and combining results from Google Places and Yelp.

For the foursquare implementation check out the branch foursquare

Returns a combined list of places ranked by their ratings as a Bayesian estimate

Try it out

$ curl http://touristfriend.club/api/40000/29.743883,-95.361621/restaurants

Sample output

[
  {
    "Rating": "9.49",
    "Sources": 1,
    "Number_of_Ratings": 868,
    "Location": "37.761594,-122.42427",
    "Name": "Pizzeria Delfina"
  },
  {
    "Rating": "9.39",
    "Sources": 1,
    "Number_of_Ratings": 404,
    "Location": "37.7682006597,-122.421604657",
    "Name": "Shizen"
  },
  {
    "Rating": "9.32",
    "Sources": 1,
    "Number_of_Ratings": 45,
    "Location": "37.763093,-122.424281",
    "Name": "Turner's Kitchen"
  },
  // Up to 15 results...
]

URI Breakdown: http://touristfriend.club/api/{meters}/{latitude},{longitude}/{query}

Setup

You'll need to acquire API keys for each of the individual services and add them to api_keys.py.

Set environment variables

# Google Places
$ export G_API=YOUR_GOOGLE_API_KEY

# Yelp
$ export YELP_API_KEY=YOUR_YELP_API_KEY

# Flask app, standing on the root of the cloned repo
$ export FLASK_APP=$(pwd)/touristfriend/__init__.py

Install dependencies

pip install -U Flask flask-cors

Run it

# For localhost
$ flask run # 127.0.0.1
# For external server
$ flask run --host "0.0.0.0" &

Try it

$ curl http://localhost:5000/api/40000/48.888001,2.337442/restaurants

With Docker example

$ docker build -t tfriend --build-arg GMAPS_KEY=YOUR_GOOGLE_MAPS_KEY \
  --build-arg G_API=YOUR_GOOGLE_API_KEY \
  --build-arg YELP_API_KEY=YOUR_YELP_API_KEY . && \
  docker run -p 5000:5000 tfriend

Feel free to use the touristfriend.club API for testing or demoing, if you plan on using it on production, consider deploying it yourself.

LICENSE: MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].