An iOS app to browse nearby venues using the Foursquare API
- Open
Venues.xcworkspace
. - Enter your Foursquare client identifier & secret in
AppDelegate.swift:29
. - Run the app. 👟
- My main goal was to implement a scaleable and testable architecture.
- The communication with Foursquare has been implemented in a separate framework.
- In this framework, I've tried to replicate Foursquare's API structure as much as possible.
- The app communicates with the Foursquare framework using the
VenueService
protocol, and maps the framework's structures into an application specificVenue
structure. - Combined with the usage of dependency injection, it's easy to test the app (swap the
Foursquare.Session
for a mockVenueService
, as seen inNearbyVenueSearchControllerTests
).
I've tried to use as few dependencies as possible. The following dependencies have been used:
- Unbox for JSON decoding.
- This UIColor extension for converting a HEX string to a UIColor instance.