Source
: hackmd
Developed from scratch a simple clone of Yelp app that we use to teach CodePath's iOS Curriculum utilized by more than 600+ students every year. This is an iOS (Swift) that integrates Yelp Fusion API, custom MongoDB + Parse backend server hosted on Back4App. This project is to demonstrate what it takes to make a simple clone of Yelp in the course of 6 weeks.
- MacOS (for running Xcode)
- Download and install Xcode
- Open
Yelpy.xcworkspace
and run it
We used Parse (hosted on Back4app) as our backend to handle login/register from the iOS app and also the group chat capabilities between users.
Yelp's Fusion API was used to gather data from businesses.
POST
/search – retrieve businesses from a given search query in SF
We used mongoDB and Parse server, hosted on Back4App to manage our data for the application. This helps students focus more on how iOS works connecting to a database and not get distracted or overloaded with learning backend development.
Below is the database schema for our simple MongoDB (managed by parse and hosted by Heroku and Back4app).
User
Name | Type | Descrpition |
---|---|---|
username | string | n/a |
password | string | user password (hashed) |
created_at | date | when the user was created |
updated_at | date | when the user was recently updated |
Message
Name | Type | Descrpition |
---|---|---|
text | string | content of message |
user | user (pointer) | user object reference |
created_at | date | when the message was first sent |
updated_at | date | when the message was recently updated |
Below are the following features that are capable for the app:
-
Load data from Yelp API + Search Bar
-
Animations using Lottie and SkeletonView
- Login/Logout
- Messaging/Chatting capabilities
- Save messages using Parse Server
- Guillermo Sanchez - membriux
- Project Lead
- Initial design/planning
- MVC Architecture design + implementation
- Yelp API Integration
- Parse + MongoDB Integration
- Messaging/Chat feature
- Search capabilities
- German Flores - Germantv
- MapKit Integration
- Image Upload capability
- Mark Falcone - markFalcone
- AutoLayout
- Lottie Animation Integration
- SkeletonView Integration
- Messaging/Chat feature