nikhilraju / LocTracker

An iOS app that uses the Google Map Framework and allows the user to search for locations. The results are displayed as pins on a map. The user can click on any location to view more details about it. The user can also tap on any entry in the results table to add it to Favorites or remove it from Favorites

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nr2483

============================================================================================
					Quick Info
============================================================================================


My App does the following:

Phase 1 (implemented as part of Homework 1)

Functionality/Features:

	1) Simple and clean UI
	2) Displays Query results on the map as pins 
	3) Displays details such as rating if available as subtitles for the pins
	4) Displays appropriate error messages 
	5) Easy to use customized UISlider element to provide search results within a particular radius. 
This has been added on the results page itself where the map is displayed so that the user can adjust radius and see results on the same screen rather than switching between screens

Phase 2 (implemented as part of Homework 3)

	1) Tab Bar Controller enables easy navigation back and forth between Search Screen,Results screen and Favorites screen
	2) The user is provided names of locations matching the query in tabular form along with an “Add to Favorites” button (conventional star icon) which can be used to add or remove locations from the favorites tab
	3) The user can click on any of the results. When the user selects a result,the app extracts from the results dictionary important details such as price level,rating,vicinity, related images for the searched location and displays it to the user in another view
	4) The app uses core data to save details of favorites and displays the saved information in the Favorites tab. The user can use the swipe to delete gesture in iOS to remove a particular entry from the Favorites list.


============================================================================================
					File Highlights (most of the code is here)
============================================================================================

ListViewController.m
This contains the code to save context to Core Data Model,


FavoritesTableViewController.m
This contains the code for the fetch request to extract the save data and populate table.


============================================================================================
					Known Bugs
============================================================================================
While I have fixed some bugs during testing, there are currently no bugs that I am aware of. 
I am currently working on additional features such as making the cells in Favorites Tab clickable to 
display details from there. But I wasn’t able to implement these by the deadline.
Currently the app just displays names of the locations marked as Favorites

============================================================================================
	     				Lessons Learned
============================================================================================
1) Even when the query framework was provided to us,a lot of thought needs to go into  app development and design. It is a very open ended problem and there is always scope for improvement.

2) Not to panic when you see that your app is crashing all of a sudden even though the code was working fine a minute ago! After spending hours on stack overflow I learnt that SIGABRT exceptions are not something to be afraid of and can be caused by something as simple as a reference on the storyboard to a method which has been deleted. I picked up some useful debugging skills 

3) iOS development is fun but not as easy as it looks on the outside, there are several subtleties to be picked up which will take some time, but this homework definitely has given me a good start in this direction.

============================================================================================
					References
============================================================================================

This project involved searching extensively on the internet to understand the design of apps using Core Data and Tab bar controllers
 
http://www.appcoda.com/introduction-to-core-data/
http://www.appcoda.com/core-data-tutorial-update-delete/


Deleting a specific entry:
http://stackoverflow.com/questions/6524876/removing-a-specific-entry-row-from-core-data

SetPredicate- for Unique id in database
Pass id atIndexPath

I have discussed the implementation details for Core Data with Shrutika Dasgupta and Yash Parikh. (students taking this course)

About

An iOS app that uses the Google Map Framework and allows the user to search for locations. The results are displayed as pins on a map. The user can click on any location to view more details about it. The user can also tap on any entry in the results table to add it to Favorites or remove it from Favorites


Languages

Language:Objective-C 100.0%