Case Study
Loyalty Program

www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd

Page 1 of 7
Client

Requirement

The purpose is to develop a Loyalty Platform with Mobile Application
compatibility with all the mobile devices like iPhone, iPad, & Android and
a mobile website.
The System has three types of users:
•
•
•

Customers
Merchants and/or Banks
Super Admin

The application has the
following features:
•
•
•
•
•
•

Customers: Using this app, the customers can register their check-ins
and redeem their loyalty points for various business vendors available
through the platform. Customers can request for various offers based on
their keyword specific preferences via SMS. The users can also be able
to subscribe to the information using web and telecom services. In all
instances subscription delivery will ONLY be to mobile phones by means
of a text (SMS) message.
Business Vendor: There will be a web CMS for the business vendors to
manage their store offerings and communicate to the client with their
special offers, new collection invites, special incentives...etc. The
business vendors will also be able to track the loyalty stats of all their
customers.

•
•
•
•
•
•
•
•

Super Admin: There will be a web CMS for the Super Admin to manage
Application Business Model and the associated business vendors account
activeness. The customers using this app can sign up for various
merchants available in various categories.

•

At each merchant, the customer shall be Able to see his reward points,
see the offers specially crafted for him or offers, be able to see the
communication targeted directly towards him, and finally redeem the
reward points by being able to purchase directly from the app, by partial
or full redemption of his reward points.

•
•
•

Client required a cross platform mobile application and mcommerce website exposing consumers to multiple brands and
merchants allowing them to shop, avail offers, manage loyalty programs
and redeem coupons from this single application.

•
•

The app, its m-commerce and
information updated at all ends.
programs with banks and other
purchase from affiliates they get
preset policy.

web versions sync together to keep
The application also manages affiliate
stores. Whenever customer makes a
rewarded according to the merchant’s

•

This application is a collaborated platform for users to manage loyalty or
customer retention programs from all or selected merchants. Every field
of the application is dynamic and can be changed during the run time.
•
•

www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd

My Pocket
Offer & Coupons
Mobile Shop
Tell a Friend
Auto Search &
Suggestion
Shipping Price Setup
Per Product
CMS Pages
Development
Inventory
Management
Catalog Management
Import
Products/Export
Products
Product Price
Calculation
Order Management
Order Tracking
User-friendly yet
Captivating Mobile
Design
Dashboard that
shows a collaborated
view of the points
earned from multiple
merchants
One-tap points
redemption facility
Ability to check
merchant’s in-app
store
Multiple merchant
choices for users
Intuitive and
immersive user
interface
Facility to scan QR
code and Barcode of
membership cards
through mobile
devices
Interactive
subsequent
dashboard that
neatly manages
offers and coupons
from multiple
merchants
Carousel View
Ability to run on the
latest versions of iOS
& Android

Page 2 of 7
Project Challenges
Team faced the following challenge:
•
•
•
•
•
•
•

Managing dynamic fields of the application was a challenge especially dealing with animation for
card swapping was a huge challenging task.
Constant synchronization between the physical stores, website, m-commerce web application and
mobile app without affecting the performance was also a challenge.
Harmonizing the simultaneous execution of various integrated features and options while
maintaining consistency.
Creating an interface for manager at physical store to easily manage and update users’ mobile
account.
Smooth performance through carousel view.
Integration with SAP, ERP and Other Third Party Systems
Integration with POS System.

Technologies Used
Operating System &
Server Management

Development Tools &
Environments
Database

Red Hat Linux OS, Multi-Server Architecture with Staging &
Production Environment through Version Controlling releases, Server
Optimization, Security & SSL Implementation, Scheduler for Back-ups,
Alert Monitoring System Integration, Server Performance Tuning at
regular intervals, Software Firewall Configuration & Maintenance
PHP5+, Zend Studio, Magento, SQLite Framework, iOS SDK,
Android, XCode 4.2.1, Core Data Framework, Java Script, HTML5, CSS
etc.
MYSQL Database Server, SVN, DB Clustering, DB Optimization,
Master Slave Replication, Query Optimization, Scheduler for Backups

Manpower
Project Manager

2

Project Leader

2

Developers

4

Mobile Developers

4

Designers

2

QA

1

www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd

Page 3 of 7
Planning
The following development approach was adopted to equip the site with numerous
features and functionality:
•

Introducing high level of server and data fetching technology.

•

Research and analysis has been scheduled to get the actual level of output of data
which is in a form of different verticals and business logics.

•

Development – High Level Coding Standards has been followed for managing backup
data volume simultaneously synchronization with server for recent updates.

•

Precisely need to concentrate in sync with existing and newly available data for backup
with our database for result to get generated.

•

The User Interface Layer which forms the Graphical User Interface of the website.

Magento Architecture

www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd

Page 4 of 7
Mobile
•

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 after 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 application’s user
interface and readies its event loop. During the event loop, UIKit coordinates the delivery of events
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 delegate object to
let it know what is happening. During the event loop, UIKit dispatches events to your application’s
custom event handlers.
Figure: Application life cycle

•

Event Handling Cycle

After the UI Application 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 and places them in the
events
application’s event queue. The event
event-handling infrastructure of the UI Application 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 controller objects and other objects indirectly responsible for
handling touch events in the application.
nts

www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd

Page 5 of 7
Figure: The event and drawing cycle

In the iPhone OS Multi-Touch event model, touch data is encapsulated in a single event object
Touch
(UI Event). To track individual touches, the event object contains touch objects (
).
(UI Touch) 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 sing thread for that
single
application. This initial thread becomes the application’s main thread and is where the UI
ecomes
Application object sets up the main run loop and configures the application’s event
event-handling
code. Figure shows the relationship of the event handling code to the main run loop. Touch
event-handling
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

Page 6 of 7
Development Highlights
The project is developed using Magento open source due to the online selling store nature of
the website. The application is built for multiple platforms including iOS and Android. The
application runs on the latest versions of iOS and Android. Almost all the modules are
developed using foundation, core graphics and UIKIT frameworks. All the user interface items
are placed in view controllers that are linked with the controller files project along with the
outlets, actions of the UI element. Geo-fencing technology was used at different stages.
Integration of various 3rd party tools was required. The site was developed and fully functional
within a span of 9 months.

www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd

Page 7 of 7

Loyalty & Rewards Points Application on your mobile, iPhone, Android

  • 1.
    Case Study Loyalty Program www.brainvire.com| © 2013 Brainvire Infotech Pvt. Ltd Page 1 of 7
  • 2.
    Client Requirement The purpose isto develop a Loyalty Platform with Mobile Application compatibility with all the mobile devices like iPhone, iPad, & Android and a mobile website. The System has three types of users: • • • Customers Merchants and/or Banks Super Admin The application has the following features: • • • • • • Customers: Using this app, the customers can register their check-ins and redeem their loyalty points for various business vendors available through the platform. Customers can request for various offers based on their keyword specific preferences via SMS. The users can also be able to subscribe to the information using web and telecom services. In all instances subscription delivery will ONLY be to mobile phones by means of a text (SMS) message. Business Vendor: There will be a web CMS for the business vendors to manage their store offerings and communicate to the client with their special offers, new collection invites, special incentives...etc. The business vendors will also be able to track the loyalty stats of all their customers. • • • • • • • • Super Admin: There will be a web CMS for the Super Admin to manage Application Business Model and the associated business vendors account activeness. The customers using this app can sign up for various merchants available in various categories. • At each merchant, the customer shall be Able to see his reward points, see the offers specially crafted for him or offers, be able to see the communication targeted directly towards him, and finally redeem the reward points by being able to purchase directly from the app, by partial or full redemption of his reward points. • • • Client required a cross platform mobile application and mcommerce website exposing consumers to multiple brands and merchants allowing them to shop, avail offers, manage loyalty programs and redeem coupons from this single application. • • The app, its m-commerce and information updated at all ends. programs with banks and other purchase from affiliates they get preset policy. web versions sync together to keep The application also manages affiliate stores. Whenever customer makes a rewarded according to the merchant’s • This application is a collaborated platform for users to manage loyalty or customer retention programs from all or selected merchants. Every field of the application is dynamic and can be changed during the run time. • • www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd My Pocket Offer & Coupons Mobile Shop Tell a Friend Auto Search & Suggestion Shipping Price Setup Per Product CMS Pages Development Inventory Management Catalog Management Import Products/Export Products Product Price Calculation Order Management Order Tracking User-friendly yet Captivating Mobile Design Dashboard that shows a collaborated view of the points earned from multiple merchants One-tap points redemption facility Ability to check merchant’s in-app store Multiple merchant choices for users Intuitive and immersive user interface Facility to scan QR code and Barcode of membership cards through mobile devices Interactive subsequent dashboard that neatly manages offers and coupons from multiple merchants Carousel View Ability to run on the latest versions of iOS & Android Page 2 of 7
  • 3.
    Project Challenges Team facedthe following challenge: • • • • • • • Managing dynamic fields of the application was a challenge especially dealing with animation for card swapping was a huge challenging task. Constant synchronization between the physical stores, website, m-commerce web application and mobile app without affecting the performance was also a challenge. Harmonizing the simultaneous execution of various integrated features and options while maintaining consistency. Creating an interface for manager at physical store to easily manage and update users’ mobile account. Smooth performance through carousel view. Integration with SAP, ERP and Other Third Party Systems Integration with POS System. Technologies Used Operating System & Server Management Development Tools & Environments Database Red Hat Linux OS, Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups, Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance PHP5+, Zend Studio, Magento, SQLite Framework, iOS SDK, Android, XCode 4.2.1, Core Data Framework, Java Script, HTML5, CSS etc. MYSQL Database Server, SVN, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups Manpower Project Manager 2 Project Leader 2 Developers 4 Mobile Developers 4 Designers 2 QA 1 www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd Page 3 of 7
  • 4.
    Planning The following developmentapproach was adopted to equip the site with numerous features and functionality: • Introducing high level of server and data fetching technology. • Research and analysis has been scheduled to get the actual level of output of data which is in a form of different verticals and business logics. • Development – High Level Coding Standards has been followed for managing backup data volume simultaneously synchronization with server for recent updates. • Precisely need to concentrate in sync with existing and newly available data for backup with our database for result to get generated. • The User Interface Layer which forms the Graphical User Interface of the website. Magento Architecture www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd Page 4 of 7
  • 5.
    Mobile • Application Life Cycle Theapplication 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 main function. 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 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 delegate object to let it know what is happening. During the event loop, UIKit dispatches events to your application’s custom event handlers. Figure: Application life cycle • Event Handling Cycle After the UI Application 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 and places them in the events application’s event queue. The event event-handling infrastructure of the UI Application 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 controller objects and other objects indirectly responsible for handling touch events in the application. nts www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd Page 5 of 7
  • 6.
    Figure: The eventand drawing cycle In the iPhone OS Multi-Touch event model, touch data is encapsulated in a single event object Touch (UI Event). To track individual touches, the event object contains touch objects ( ). (UI Touch) 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 sing thread for that single application. This initial thread becomes the application’s main thread and is where the UI ecomes Application object sets up the main run loop and configures the application’s event event-handling code. Figure shows the relationship of the event handling code to the main run loop. Touch event-handling 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 Page 6 of 7
  • 7.
    Development Highlights The projectis developed using Magento open source due to the online selling store nature of the website. The application is built for multiple platforms including iOS and Android. The application runs on the latest versions of iOS and Android. Almost all the modules are developed using foundation, core graphics and UIKIT frameworks. All the user interface items are placed in view controllers that are linked with the controller files project along with the outlets, actions of the UI element. Geo-fencing technology was used at different stages. Integration of various 3rd party tools was required. The site was developed and fully functional within a span of 9 months. www.brainvire.com | © 2013 Brainvire Infotech Pvt. Ltd Page 7 of 7