Home » Case Study » Loyalty Program

Loyalty Program

Categories : All, Case Study, Retail / E-commerce

Loyalty Program

Client Requirement

Loyalty Program application has the following features:
  • 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

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

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 m-commerce 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.

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.

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.
  • Harmonizing the simultaneous execution of various integrated features and options while maintaining consistency.
  • Integration with SAP, ERP and Other Third Party Systems
  • Integration with POS System.
  • Constant synchronization between the physical stores, website, m-commerce web application and mobile app without affecting the performance was also a challenge.
  • Creating an interface for manager at physical store to easily manage and update users’ mobile account.
  • Smooth performance through carousel view.

Technologies Used

Operating System & Server ManagementRed 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
Development Tools & EnvironmentsPHP5+, Zend Studio, Magento, SQLite Framework, iOS SDK, Android, XCode 4.2.1, Core Data Framework, Java Script, HTML5, CSS etc.
DatabaseMYSQL Database Server, SVN, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups


Project Manager2
Project Leader2
Mobile Developers4


The following development approach was adopted to equip the site with numerous features and functionality:
  • Introducing high level of server and data fetching technology.
  • The User Interface Layer which forms the Graphical User Interface of the website.
  • 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.
  • 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.

Magento 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 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 events and places them in the application’s event queue. The event-handling event 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.

Figure: The event and drawing cycle


In the iPhone OS Multi-Touch event model, touch data is encapsulated in a single event object (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 single thread for that application. This initial thread becomes the application’s main thread and is where the UI Application 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 loop. Touch events sent by the system are queued until they can be processed by the application’s main run loop.


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.

No ratings yet.

Rate Us!