1 / 16

“ JogLog ” A Database-Dependent iPhone App

“ JogLog ” A Database-Dependent iPhone App. Matthew Ragonese University of Miami. The Motivation. My Strength Frontend iPhone development My Weakness Backend Database Development. The Objective. Study: Backend Database Development Virtual/web server selection and formatting

gazit
Download Presentation

“ JogLog ” A Database-Dependent iPhone App

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “JogLog”A Database-Dependent iPhone App Matthew Ragonese University of Miami

  2. The Motivation • My Strength • Frontend iPhone development • My Weakness • Backend Database Development

  3. The Objective • Study: Backend Database Development • Virtual/web server selection and formatting • Server-side scripting • Implement: A Database-Dependent iPhone App • A simple yet functional user interface • HTTP request and response handling

  4. My Application • “The Advice App” “JogLog” • Jogging utility that allows users to track and map their jogs • Users can receive their jog stats in an email summary This app could use a database! 

  5. Formatting My Server • Hardware: AWS instance launched • Running Ubuntu OS • Installed LAMP stack • Software: MongoDB • Installed distribution package • Installed PHP driver

  6. Learning MongoDB • The “NoSQL” database • Open source document-oriented DB • Data stored in collections of “documents” • Data stored in JSON-like documents • BSON  “Binary JSON” • BSON supports the insertion of documents and arrays within other documents and arrays

  7. Learning MongoDB (cont.) • General topics studied • Database/collection creation • Document insertion • Condition-based querying • With limits, sort orders, and projections • Cursor management • Document updating

  8. Mongo and JogLog • The Mongo PHP driver • Accesses all Mongo features within PHP • App-to-Database Communication • AWS instance’s HTTP web service (“/var/www”) • In-app PHP script requests

  9. Data Objects USER RUN *Relational Model

  10. My PHP Scripts • Login.php • Parameters: UUID User • CreateUser.php • Parameters: firstName, UUID  User • CreateRun.php • Parameters: ownerID, distance, seconds, pace  Run • RetrieveRuns.php • Parameters: ownerID Array of Runs

  11. PHP Sample Script http://54.200.27.11/RunLog/DeleteRun.php?runID=1234&ownerID=5678

  12. Handling URL Requests • Apple NSURLConnection • Open-source AFNetworking • Built atop NSURLConnection • Utilizes “CocoaPods” • Used by: • Pinterest • Github • Heroku

  13. Parsing URL Responses { "_id”:46, "ownerID":"123", "distance":"2.0", "seconds":"320", "pace":"2.0", "dateString":"2013-12-04 08:09:22” } “JSONModel” Neat open-source parsing tool which maps JSON documents to object instances

  14. The New JogLog

  15. The New JogLog (cont.) • Modified UI • User Authentication • UUID-based • “My Jogs” Page • Tableview of Past Jogs • Cumulative Jog Stats The future of JogLog?

  16. The End Questions?

More Related