Code Monkey home page Code Monkey logo

dine-out-ios's Introduction

dine-out

This iOS App uses the Google Places REST API and the IBM Watson Tone Analyzer REST API to list nearby restaurants filtered by keyword.

The app uses RxSwift with MVVM. Services for Google Places and the Tone Analyzer client publish events on ReplaySubjects, that are subscribed to by the ViewModel. The ViewModel publishes updates to view model sequences, that are consumed by the ViewController.

The Google Places client tries to fetch the current location after location permissions are granted, on app startup, and before the View Controller appears. A REST call to the Google Places 'nearby" search fetches restaurants nearby, filtered by a keyword. A REST call then fetches details about the retrieved places, including reviews. The reviews are sent to the Tone Analyzer to request the set of all tones detected in the reviews.

Building and Running the App with XCode

  • Create a property list file named ApiKeys.plist, with two key-value pairs:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ToneAnalyzerApiKey</key>
	<string>YOUR-TONE-ANALYZER-KEY</string>
	<key>GoogleCloudPlatformApiKey</key>
	<string>YOUR-GOOGLE_CLOUD-PLATFORM-KEY</string>
</dict>
</plist>
  • cd into the root directory and enter pod install
  • click on dineout.xcworkspace to open the project
  • Set your bundle id and your team in Project settings
  • Build and run

See this link for a demo: Dine Out Demo

dine-out-ios's People

Contributors

riley2012 avatar

Watchers

 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.