SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 1 of 1
Case Study
Location-based GPS App for Online Restaurant
Surveys
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
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.
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
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
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,
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.

Weitere Àhnliche Inhalte

Andere mochten auch

Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on AndroidJomar Tigcal
 
Report on online chatting
Report on online chattingReport on online chatting
Report on online chattingAmandeep Kaur
 
Location Based Services: Business Model
Location Based Services: Business ModelLocation Based Services: Business Model
Location Based Services: Business ModelEvangelos Tselentis
 
Bus tracking application project report
Bus tracking application project reportBus tracking application project report
Bus tracking application project reportAbhishek Singh
 
20 Hot Location-Based Apps and Services You Should Know About
20 Hot Location-Based Apps and Services You Should Know About20 Hot Location-Based Apps and Services You Should Know About
20 Hot Location-Based Apps and Services You Should Know AboutEnterprise Social Technology (Book)
 
Global positioning System
Global positioning SystemGlobal positioning System
Global positioning Systemayushrajput
 
Bus Tracking Application in Android
Bus Tracking Application in AndroidBus Tracking Application in Android
Bus Tracking Application in AndroidAbhishek Singh
 
GPS ppt.
GPS ppt. GPS ppt.
GPS ppt. Jawad Ali
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Androidyashonil
 

Andere mochten auch (11)

Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on Android
 
Report on online chatting
Report on online chattingReport on online chatting
Report on online chatting
 
Location Based Services: Business Model
Location Based Services: Business ModelLocation Based Services: Business Model
Location Based Services: Business Model
 
Bus tracking application project report
Bus tracking application project reportBus tracking application project report
Bus tracking application project report
 
20 Hot Location-Based Apps and Services You Should Know About
20 Hot Location-Based Apps and Services You Should Know About20 Hot Location-Based Apps and Services You Should Know About
20 Hot Location-Based Apps and Services You Should Know About
 
Global positioning System
Global positioning SystemGlobal positioning System
Global positioning System
 
Gps ppt
Gps pptGps ppt
Gps ppt
 
Bus Tracking Application in Android
Bus Tracking Application in AndroidBus Tracking Application in Android
Bus Tracking Application in Android
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
GPS ppt.
GPS ppt. GPS ppt.
GPS ppt.
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Android
 

Mehr von Mike Taylor

Latest trends for mobile apps development
Latest trends for mobile apps developmentLatest trends for mobile apps development
Latest trends for mobile apps developmentMike Taylor
 
Features of B2C Travel eCommerce system
Features of B2C Travel eCommerce systemFeatures of B2C Travel eCommerce system
Features of B2C Travel eCommerce systemMike Taylor
 
Steps to Grow Your eCommerce Business
Steps to Grow Your eCommerce BusinessSteps to Grow Your eCommerce Business
Steps to Grow Your eCommerce BusinessMike Taylor
 
Reasons to choose php for web application development
Reasons to choose php for web application developmentReasons to choose php for web application development
Reasons to choose php for web application developmentMike Taylor
 
Unique Shopoping Experience with eCommerce Gamification Extension
Unique Shopoping Experience with eCommerce Gamification Extension Unique Shopoping Experience with eCommerce Gamification Extension
Unique Shopoping Experience with eCommerce Gamification Extension Mike Taylor
 
Android Application Development with Apple's Swift Technology
Android Application Development with Apple's Swift TechnologyAndroid Application Development with Apple's Swift Technology
Android Application Development with Apple's Swift TechnologyMike Taylor
 
New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0Mike Taylor
 
Gamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce BusinessGamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce BusinessMike Taylor
 
Gamification - Enhance Customers shopping experience with latest Big things i...
Gamification - Enhance Customers shopping experience with latest Big things i...Gamification - Enhance Customers shopping experience with latest Big things i...
Gamification - Enhance Customers shopping experience with latest Big things i...Mike Taylor
 
Benefit of Web Application Development with Zend Framework
Benefit of Web Application Development with Zend FrameworkBenefit of Web Application Development with Zend Framework
Benefit of Web Application Development with Zend FrameworkMike Taylor
 
The Importance Things of Full Stack Development
The Importance Things of Full Stack DevelopmentThe Importance Things of Full Stack Development
The Importance Things of Full Stack DevelopmentMike Taylor
 
Most useful features for windows 10 developer
Most useful features for windows 10 developerMost useful features for windows 10 developer
Most useful features for windows 10 developerMike Taylor
 
Have a look Google next operating system update : Android Marshmallow
Have a look Google next operating system update : Android MarshmallowHave a look Google next operating system update : Android Marshmallow
Have a look Google next operating system update : Android MarshmallowMike Taylor
 
Top 20 Questions Ask Before Hire Android App Development Company
Top 20 Questions Ask Before Hire Android App Development CompanyTop 20 Questions Ask Before Hire Android App Development Company
Top 20 Questions Ask Before Hire Android App Development CompanyMike Taylor
 
Multi vendor marketplace extension
Multi vendor marketplace extensionMulti vendor marketplace extension
Multi vendor marketplace extensionMike Taylor
 
25 Famous Websites using Wordpress
25 Famous Websites using Wordpress25 Famous Websites using Wordpress
25 Famous Websites using WordpressMike Taylor
 
Bring Healthcare to fingertips - How Apps changed Medical Industry
Bring Healthcare to fingertips - How Apps changed Medical IndustryBring Healthcare to fingertips - How Apps changed Medical Industry
Bring Healthcare to fingertips - How Apps changed Medical IndustryMike Taylor
 
Have you played this Symfony? Why Symfony is great choice for Web development
Have you played this Symfony? Why Symfony is great choice for Web developmentHave you played this Symfony? Why Symfony is great choice for Web development
Have you played this Symfony? Why Symfony is great choice for Web developmentMike Taylor
 
9 vitals in business websites
9 vitals in business websites9 vitals in business websites
9 vitals in business websitesMike Taylor
 
How Technology Can Change Real Estate Industry In 2015
How Technology Can Change Real Estate Industry In 2015How Technology Can Change Real Estate Industry In 2015
How Technology Can Change Real Estate Industry In 2015Mike Taylor
 

Mehr von Mike Taylor (20)

Latest trends for mobile apps development
Latest trends for mobile apps developmentLatest trends for mobile apps development
Latest trends for mobile apps development
 
Features of B2C Travel eCommerce system
Features of B2C Travel eCommerce systemFeatures of B2C Travel eCommerce system
Features of B2C Travel eCommerce system
 
Steps to Grow Your eCommerce Business
Steps to Grow Your eCommerce BusinessSteps to Grow Your eCommerce Business
Steps to Grow Your eCommerce Business
 
Reasons to choose php for web application development
Reasons to choose php for web application developmentReasons to choose php for web application development
Reasons to choose php for web application development
 
Unique Shopoping Experience with eCommerce Gamification Extension
Unique Shopoping Experience with eCommerce Gamification Extension Unique Shopoping Experience with eCommerce Gamification Extension
Unique Shopoping Experience with eCommerce Gamification Extension
 
Android Application Development with Apple's Swift Technology
Android Application Development with Apple's Swift TechnologyAndroid Application Development with Apple's Swift Technology
Android Application Development with Apple's Swift Technology
 
New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0
 
Gamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce BusinessGamification - The Trending Things of eCommerce Business
Gamification - The Trending Things of eCommerce Business
 
Gamification - Enhance Customers shopping experience with latest Big things i...
Gamification - Enhance Customers shopping experience with latest Big things i...Gamification - Enhance Customers shopping experience with latest Big things i...
Gamification - Enhance Customers shopping experience with latest Big things i...
 
Benefit of Web Application Development with Zend Framework
Benefit of Web Application Development with Zend FrameworkBenefit of Web Application Development with Zend Framework
Benefit of Web Application Development with Zend Framework
 
The Importance Things of Full Stack Development
The Importance Things of Full Stack DevelopmentThe Importance Things of Full Stack Development
The Importance Things of Full Stack Development
 
Most useful features for windows 10 developer
Most useful features for windows 10 developerMost useful features for windows 10 developer
Most useful features for windows 10 developer
 
Have a look Google next operating system update : Android Marshmallow
Have a look Google next operating system update : Android MarshmallowHave a look Google next operating system update : Android Marshmallow
Have a look Google next operating system update : Android Marshmallow
 
Top 20 Questions Ask Before Hire Android App Development Company
Top 20 Questions Ask Before Hire Android App Development CompanyTop 20 Questions Ask Before Hire Android App Development Company
Top 20 Questions Ask Before Hire Android App Development Company
 
Multi vendor marketplace extension
Multi vendor marketplace extensionMulti vendor marketplace extension
Multi vendor marketplace extension
 
25 Famous Websites using Wordpress
25 Famous Websites using Wordpress25 Famous Websites using Wordpress
25 Famous Websites using Wordpress
 
Bring Healthcare to fingertips - How Apps changed Medical Industry
Bring Healthcare to fingertips - How Apps changed Medical IndustryBring Healthcare to fingertips - How Apps changed Medical Industry
Bring Healthcare to fingertips - How Apps changed Medical Industry
 
Have you played this Symfony? Why Symfony is great choice for Web development
Have you played this Symfony? Why Symfony is great choice for Web developmentHave you played this Symfony? Why Symfony is great choice for Web development
Have you played this Symfony? Why Symfony is great choice for Web development
 
9 vitals in business websites
9 vitals in business websites9 vitals in business websites
9 vitals in business websites
 
How Technology Can Change Real Estate Industry In 2015
How Technology Can Change Real Estate Industry In 2015How Technology Can Change Real Estate Industry In 2015
How Technology Can Change Real Estate Industry In 2015
 

KĂŒrzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂșjo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

KĂŒrzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Location-based GPS App for Online Restaurant Surveys

  • 1. www.brainvire.com | © 2013 Brainvire Infotech Pvt Ltd Page 1 of 1 Case Study Location-based GPS App for Online Restaurant Surveys
  • 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. 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. 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. 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. 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. 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.