GPS based coupon, offers redemption, renewable membership application for iOS and android mobiles with social media integration, map view and location finder services
2. This mobile application is the client server platform which provides an opportunity to its users to
stay informed about the daily deals in their city. It allows one to see all the daily deals of a
specified area (using location-based services) from phone or a website. On the other side, it will
help the merchants as users can redeem their coupons while making a purchase and authenticate
through a remote phone.
It is a web and iPhone-based mobile app which works primarily on Coupons, Offers Redemption
and Location Finder services through a mobile function. Client’s website allows users to create their
accounts. For better feasibility of this application, user needs to download a mobile app from
client’s website and can start using multiple features on his iPhone device.
Application has been divided in two variants: User Login and Merchant Login. Registered
members can login by using User Login Section whereas Merchant Login is specifically designed for
Shop Owners who provide the Coupons and Deals for the user. Merchant Account Owners can view
the lists of coupons redeemed by the users and also he/she can add or update new deals available
in their product list to be offered. Registration is FREE for any user. User Registration is only
applicable from client’s website and other features can be utilized in mobile app. The website’s Web
Section also gives track records of coupon redemption activities and available listings. Login Screen
also allows users to get authenticated with Facebook Account. With the help of Facebook account,
user will be able to access the application’s coupon transactions.
IPAD Application: It has a search bar to search the nearby locations and their offers. When you
define the preferred location in your mobile device, the system automatically intimates you by
highlighting the desired available coupons which require redemption. The system will prompt an
indicator about the number of coupons active for redemption in the predefined locations. Coupon
Main Section Module assists with image listings. All the respective daily coupons of a
restaurant/shop will be displayed with images and location.
Map View: On the top of the same screen, a map option will be provided that will take the user to
map view where he can see all the coupons on a Google map with a pin.
Requirement: Latitude and Longitude is required for places or stores to be shown on the map.
Search: There will be a search option provided on the top of the screen where users can search by
category, zip code, distance etc. or they can just be shown nearby offers on a Google map with a
pin.
Requirement: Database needs to be created keeping category, zip code, distance etc. in mind.
Detail View: When tapped on a particular coupon of interest the user will be provided with the
detail view of that particular coupon.
Special Feature: It has a search bar to search nearby locations or offers. List of Coupon Books
available in user’s account can be redeemed.
Near By: User can view the results in two ways: via Google Map or Grid List which will display the
lists of coupon offered from the nearby specified directions.
Settings (Preferences): Sync Books refresh on a single tap and fetch recent updated coupons
available in the database directory. It also includes Near By Range feature which can be defined
according to the user’s preferred locations.
Social Media Integration: Application or website seamlessly integrates with Facebook, Twitter,
LinkedIn etc.
Client Requirement
3. Technologies Used
Operating System &
Server Management
iOS (Mobile), Red Hat Linux OS (Web), 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 &
Environments
Xignite, Stock Editor, JSON, PHP5+, JavaScript, Objective C, Flash, iOS
SDK, Xcode etc.
Database MYSQL Database Server, DB Clustering, DB Optimization, Master
Slave Replication, Query Optimization, Scheduler for Backups
Project Challenges
Team faced the following challenges:
Allowing the site to handle millions of users at the same time without slowing down.
Incorporating web usability principles while developing numerous features designed
for enhancing the users’ community networking experience.
Harmonizing the simultaneous execution of various integrated features and options
while maintaining consistent load balance.
Synchronization with Web Account, Database Servers and Mobile Tablet evolving the
huge range of categories.
Coupons had to be redeemed from mobile devices at any dealer or retailer which has
to be synchronized with database, account transaction ID’s, web server,
administrative records etc. that requires being updated during the runtime of each
transaction activities.
Location Finder, Traceability of Coupon Locater/Dealer, Device Notification, Displaying
of Map and Grid View for all users’ viewing and usability experience. All
commencement at the same server reproduces the application needs for user and
system.
4. Manpower
Planning
The following development approach was adopted to equip the site with numerous
features and functionality mentioned below:
Planned for the proper synchronization of the connectivity and interaction between the web
server, database a server-where the images are being placed.
Research and analysis has been scheduled in respect to get the actual level of output of data
which is in the form of different verticals and business logics.
Coupon Finder ensures that each device within the specified range works on GPS/WiFi mobility
functions. Also, it is checked as a session to the server. Users can set a reminder with effects
on the application.
The User Interface layer performs as a Graphical User Interface of the website and Mobile
Application.
Architecture
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
application’s event queue. The 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.
Project Leader 1
Developers 2
Designers 1
Quality Assurance Testers 1
5. Figure: The event and drawing cycle
In the iPhone OS Multi-Touch event model, touch data is encapsulated in a single event object (
Event). To track individual touches, the event object contains touch objects (
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
Application object sets up the Main Run Loo
code. Figure shows the relationship of the event
sent by the system are queued until they can be processed by the application’s main run loop.
Figure: Processing events in the main run loop
Touch event model, touch data is encapsulated in a single event object (
). To track individual touches, the event object contains touch objects (UI
each finger that is touching the screen. As the user places fingers on the screen, moves them
and finally removes them from the screen, the system reports the changes for each finger
When it launches an application, the system creates both a process and a single thread for that
comes the application’s main thread and is where the
Main Run Loop and configures the application’s event
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.
events in the main run loop
Touch event model, touch data is encapsulated in a single event object (UI
Touch) one for
each finger that is touching the screen. As the user places fingers on the screen, moves them
and finally removes them from the screen, the system reports the changes for each finger
When it launches an application, the system creates both a process and a single thread for that
comes the application’s main thread and is where the UI
and configures the application’s event-handling
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.