www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 1 of 1
Case Study
Location-based GPS App for Online Restaurant
...
www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 2 of 2
This application is an online survey system for restaura...
www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 3 of 3
Technologies Used
Xcode 4.2.1 Xcode is a tool, also call...
www.brainvire.com
Planning
The following development approach was adopted to equip the site with numerous
features and fun...
www.brainvire.com
• Event Handling Cycle
After the UIApplication main function initializes the application, it starts the ...
www.brainvire.com
Figure: Processing events in the main run loop
• The MVC Architecture is a combination of Model
1. Model...
www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 7 of 7
Development Highlights
This application for iPad is buil...
Upcoming SlideShare
Loading in …5
×

Location-based GPS App for Online Restaurant Surveys

486 views
395 views

Published on

Location-based GPS App for Online Restaurant Surveys. Restaurants finder mobile app alerts users about nearby restaurants built for Android, iPhone and Blackberry

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
486
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Location-based GPS App for Online Restaurant Surveys

  1. 1. www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 1 of 1 Case Study Location-based GPS App for Online Restaurant Surveys
  2. 2. www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 2 of 2 This application is an online survey system for restaurants. Designed to run on cross mobile platforms (Android, iPhone and Blackberry), this application allows users to look for restaurants in the nearby location, fill up their survey and win vouchers or coupons. The application makes use of location-based technology. Client required the following: • Location-based restaurant survey application that alerts users about nearby restaurants and best deals. • Survey form loads on users mobile device • System must allow to set rewards for consumers • Flexible UI that allows restaurant owners to build concise and interactive surveys • Social network integration to enable instantaneous sharing • Ability to reduce chances of fake surveys (integrated user blocking mechanism) • Advanced filter and sorting techniques • Data archival facility • Quick data assimilation facility according to trends, demographics, fashion, etc. • Ability to print detailed analysis (graphical) reports Client Requirement
  3. 3. www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 3 of 3 Technologies Used Xcode 4.2.1 Xcode is a tool, also called as IDE, used to develop iOS and Mac applications. It is a main component of Xcode toolset. It groups most of the tools needed to develop software in a streamlined and interactive manner. Core Data Framework The Core Data framework provides generalized and automated solutions to common tasks associated with object life-cycle and object graph management, including persistence. iOS sdk 5.0 iOS is a software development kit used to develop iPhone, iPad applications specific to OS versions as required by the user. MVC The model–view–controller framework separates the representation of information in a computer program from the user's interaction with it. The model consists of application data and business rules, and the controller mediates input, converting it to commands for the model or view. Manpower Project Leader 1 Developers 1 Designers 1 Quality Assurance Testers 1 Project Challenges Team faced the following challenges: • Setting up client server interaction to fetch data of restaurant within specified range. • Showing restaurants located within a specified range, as per set by the user, on MAP. • Survey reports and images synchronized as per the users’ account on the device. It reported on the server to fetch rewards.
  4. 4. www.brainvire.com Planning The following development approach was adopted to equip the site with numerous features and functionality mentioned before: • Development – High Level Coding Standards were followed for managing backup data volume. Simultaneously, synchronization with server for recent data modulations was also performed. • Designing the application interaction and flow to add user • Syncing existing and newly available data for backup with our database required specific attention. This helped in result generation. • The User Interface Layer was designed as per the iPhone Architecture • Application Life Cycle The application life cycle constitutes the sequence of events that occurs between the launch and termination of your application. In iPhone/iPad OS, the user launches the application by tapping its icon on the Home screen. Shortly aft transitional graphics and proceeds to launch your application by calling its From this point on, the bulk of the initialization work is handed over to UIKit, which loads the application’s user interface and readies its event loop. During the event loop, UIKit coordinates the delivery of events to your by your application. When the u quit, UIKit notifies your application and begins the termination process. The following figure depicts the simplified life cycle of an iPhone application. This diagram shows the sequence of events that occur from the time the application starts up to the time it quits. At initialization and termination, UIKit sends specific mess delegate object to let it know what is happening. During the even events to your application’s custom event handlers Figure: Application life cycle Arc www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd The following development approach was adopted to equip the site with numerous features and functionality mentioned before: High Level Coding Standards were followed for managing backup data volume. Simultaneously, synchronization with server for recent data modulations was also Designing the application interaction and flow to add user-friendliness a Syncing existing and newly available data for backup with our database required specific attention. This helped in result generation. The User Interface Layer was designed as per the iPhone-defined standards. The application life cycle constitutes the sequence of events that occurs between the launch and termination of your application. In iPhone/iPad OS, the user launches the application by tapping its icon on the Home screen. Shortly after the tap occurs, the system displays some transitional graphics and proceeds to launch your application by calling its From this point on, the bulk of the initialization work is handed over to UIKit, which loads the and readies its event loop. During the event loop, UIKit nts to your custom objects and responds to commands issued by your application. When the user performs an action that would cause your application to quit, UIKit notifies your application and begins the termination process. The following figure depicts the simplified life cycle of an iPhone application. This diagram shows the sequence of events that occur from the time the application starts up to the time it quits. At initialization and termination, UIKit sends specific messages to the application’s object to let it know what is happening. During the event loop, UIKit dispatches events to your application’s custom event handlers. © 2013 Brainvire Infotech Pvt Ltd Page 4 of 4 The following development approach was adopted to equip the site with numerous High Level Coding Standards were followed for managing backup data volume. Simultaneously, synchronization with server for recent data modulations was also friendliness and interactivity. Syncing existing and newly available data for backup with our database required specific defined standards. The application life cycle constitutes the sequence of events that occurs between the launch and termination of your application. In iPhone/iPad OS, the user launches the application by er the tap occurs, the system displays some transitional graphics and proceeds to launch your application by calling its main function. From this point on, the bulk of the initialization work is handed over to UIKit, which loads the and readies its event loop. During the event loop, UIKit and responds to commands issued ser performs an action that would cause your application to The following figure depicts the simplified life cycle of an iPhone application. This diagram shows the sequence of events that occur from the time the application starts up to the time ages to the application’s t loop, UIKit dispatches
  5. 5. www.brainvire.com • Event Handling Cycle After the UIApplication main function initializes the application, it starts the infrastructure needed to manage the application’s event and drawing cycle, which is depicted in the following figure. As the user interacts with a device, iPhone/iPad OS detec and places them in the application’s event queue. The event UIApplication object takes each event off the top of this queue and delivers it to the object that best suited to handle it. For example, a touch eve delivered to the corresponding button object. Events can also be delivered to objects and other objects indirectly responsible for handling touch events in the application. Figure: The event and drawing cycle In the iPhone OS Multi-Touch event model, touch data is encapsulated in a sin object (UIEvent). To track individual touches, the event object contains touch objects (UITouch), one for each finger that is touching the screen. As the user places fingers on the screen, moves them around, and finally removes them from the screen, the system reports the changes for each finger in the corresponding touch object. When it launches an application, the system creates both a process and a single thread for that application. This initial thread becomes the application’s main thread and is where the UIApplication object sets up the main run loop and configures the application’s event handling code. Figure shows the relationship of the event loop. Touch events sent by the system are queued until they can be processed by the application’s main run loop. www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd After the UIApplication main function initializes the application, it starts the infrastructure needed to manage the application’s event and drawing cycle, which is depicted in the following figure. As the user interacts with a device, iPhone/iPad OS detec and places them in the application’s event queue. The event-handling infrastructure of the UIApplication object takes each event off the top of this queue and delivers it to the object that best suited to handle it. For example, a touch event occurring in a button would be delivered to the corresponding button object. Events can also be delivered to and other objects indirectly responsible for handling touch events in the application. event and drawing cycle Touch event model, touch data is encapsulated in a sin ). To track individual touches, the event object contains touch objects ), one for each finger that is touching the screen. As the user places fingers on the moves them around, and finally removes them from the screen, the system reports the changes for each finger in the corresponding touch object. When it launches an application, the system creates both a process and a single thread for is initial thread becomes the application’s main thread and is where the UIApplication object sets up the main run loop and configures the application’s event handling code. Figure shows the relationship of the event-handling code to the main run ch events sent by the system are queued until they can be processed by the © 2013 Brainvire Infotech Pvt Ltd Page 5 of 5 After the UIApplication main function initializes the application, it starts the infrastructure needed to manage the application’s event and drawing cycle, which is depicted in the following figure. As the user interacts with a device, iPhone/iPad OS detects touch events handling infrastructure of the UIApplication object takes each event off the top of this queue and delivers it to the object nt occurring in a button would be delivered to the corresponding button object. Events can also be delivered to controller and other objects indirectly responsible for handling touch events in the application. Touch event model, touch data is encapsulated in a single event ). To track individual touches, the event object contains touch objects ), one for each finger that is touching the screen. As the user places fingers on the moves them around, and finally removes them from the screen, the system reports When it launches an application, the system creates both a process and a single thread for is initial thread becomes the application’s main thread and is where the UIApplication object sets up the main run loop and configures the application’s event- handling code to the main run ch events sent by the system are queued until they can be processed by the
  6. 6. www.brainvire.com Figure: Processing events in the main run loop • The MVC Architecture is a combination of Model 1. Model: The model object knows about all the data that need to be displayed. It is model who is aware about all the operations that can be applied to transform that object. It only represents the data of an application. The model represents enterprise data and th business rules that govern access to and updates of this data. Model is not aware about the presentation data and how that data will be displayed to the browser. 2. View: The view represents the presentation of the application. The view object refers to the model. It uses the query methods of the model to obtain the contents and renders it. The view is not dependent on the application logic. It remains same if there is any modification in the business logic. In other words, we can say that it is the respo the view's to maintain the consistency in its presentation when the model changes. 3. Controller: Whenever the user sends a request for something then it always go through the controller. The controller is responsible for intercepting the reque passes it to the model for the appropriate action. After the action has been taken on the data, the controller is responsible for directing the appropriate view to the user. In GUIs, the views and the controllers often work very closely t www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd events in the main run loop The MVC Architecture is a combination of Model-View-Controller. The model object knows about all the data that need to be displayed. It is model who is aware about all the operations that can be applied to transform that object. It only represents the data of an application. The model represents enterprise data and th business rules that govern access to and updates of this data. Model is not aware about the presentation data and how that data will be displayed to the browser. The view represents the presentation of the application. The view object refers to the model. It uses the query methods of the model to obtain the contents and renders it. The view is not dependent on the application logic. It remains same if there is any modification in the business logic. In other words, we can say that it is the respo the view's to maintain the consistency in its presentation when the model changes. Whenever the user sends a request for something then it always go through the controller. The controller is responsible for intercepting the requests from view and passes it to the model for the appropriate action. After the action has been taken on the data, the controller is responsible for directing the appropriate view to the user. In GUIs, the views and the controllers often work very closely together. © 2013 Brainvire Infotech Pvt Ltd Page 6 of 6 The model object knows about all the data that need to be displayed. It is model who is aware about all the operations that can be applied to transform that object. It only represents the data of an application. The model represents enterprise data and the business rules that govern access to and updates of this data. Model is not aware about the The view represents the presentation of the application. The view object refers to the model. It uses the query methods of the model to obtain the contents and renders it. The view is not dependent on the application logic. It remains same if there is any modification in the business logic. In other words, we can say that it is the responsibility of the view's to maintain the consistency in its presentation when the model changes. Whenever the user sends a request for something then it always go through sts from view and passes it to the model for the appropriate action. After the action has been taken on the data, the controller is responsible for directing the appropriate view to the user. In GUIs,
  7. 7. www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 7 of 7 Development Highlights This application for iPad is built around objective C and core data framework. This application was also made compatible to iOS sdk 5.1 at a later stage. Almost all the modules are developed using foundation, core graphics and UIKIT frameworks. All the user interface items are placed in view controllers and are linked with the controller files project along with the outlets, actions of the UI element. Integration of various 3rd party tools was required. The site was developed and fully functional within a span of 3 months.

×