Yelpy is an iOS app that allows user to browse restaurants nearby them from the Yelp Fusion API.
Some of the main features include:
- User can login or create a new account, and stay logged in across restarts.
- User can view a tab bar with a home feed and chat tab
- Home Feed Tab
- User can view restaurants nearby them using their location, and can search for restaurants using the search bar
- User can tap a cell to see more details about a particular restaurant which also presents the restaurant's address in a MKMapView.
- Users are able to take/upload a photo to a restaurant's map pin
- User can load past restaurants infinitely using a UIRefreshControl
- Presents an animations using Lottie and Skeleton View when restaurants are loading
- Chat Tab
- User can chat with other app users using a Parse backend chat
- iOS 15.0 or later
- iPhone 6s or newer
- iPod touch 7th generation or newer
To install and set up the app on your own device, follow these steps:
- Xcode 11 or later
- CocoaPods (installation instructions can be found at https://cocoapods.org/)
To clone the repository, open a terminal and enter the following command:
git clone https://github.com/kabirdhillon7/Yelpy
To install the dependencies for the app, navigate to the directory where you cloned the repository and run the following command:
pod install
This will install all of the dependencies specified in the Podfile
.
Open the Yelpy.xcworkspace
file in Xcode. Make sure that the Yelpy
scheme is selected, and then click the "Run" button to build and run the app.
Before you can use the app, you will need to set up your API keys. To do this, follow these steps:
- Go to https://fusion.yelp.com and sign up for an API key.
- In Xcode, open the
API.swift
file and replaceapikey
with the API key you received.
This app uses the following dependencies:
- Alamofire (MIT License)
- Alamofire Image (MIT License)
- Core Location
- MapKit
- Lottie (MIT License)
- Parse (Parse Community Software License Agreement v1.0)
- SkeletonView (MIT License)
If you have any questions or feedback, you can reach me through the following channels:
- GitHub: @kabirdhillon7
- LinkedIn: Kabir Dhillon