Client
Fynger Mobility
Project
Business Marketing/Promotions Application based on Social Networking
Application Type
Retail, Social Networking, Business Marketing
Industry
Service Oriented Architecture, Web Application, Search Engine, CRM, Mobile App
Business Requirements
The primary objective behind the idea was to provide ‘Business Marketing with promotional offers via Social Networking’ aiming to seamlessly bridge the gap between buyers and sellers, information seekers and providers and make life a tad easier for people on the move. Fynger helps to communicate with the existing and prospective customers in real time. It gives the power to push deals to specifically those who are looking for certain kind of product or service.
Key Functional Areas:
- Flash Deal – A feature that allows merchants to communicate with the consumers in real time.
- Search Engine – Based on the key word and location
- User Location identification based on Google Maps API
- Chat Mechanism
- Facebook Integration
- Highly secured user authentication
- Email notifications
- Mobile notifications on Android/iPhone
- Ratings & Reviews of services/products
The Solution
Solution Approach
The target of this application was to reach all kind of consumers using online mechanism, be it web or mobile. It was also important to consider the facts that the application should not be heavier and should work simultaneously and uniformly in all platforms. Uniformity was the main point of this project, so that new change apply in the code should work in all platforms without any compatibility issues.
Considering all these facts, REST based architecture was chosen to implement this project and all the business functionalities were envisioned to be developed in the form of web services so that can work uniformly in any kind of platform.
There are 2 parts of this project:
- Implementation of Server backend
- Implementation of Android and iOS application
Solution Specifications
REST architectural principles based web services were implemented to process all the business functionalities. Each functionality works as a service which can be called by any kind of interface (Service Requestor) either web or mobile. Application was developed for web platform and for mobile platform (Android & iOS).
Key Highlights of the Solution Implemented
- Java was the core technical language for this project while SQL Server was used as a data store
- More than 50 services were developed in this project. These services provide many functionalities to the web channel application like, User Login & Profile service, Search services – Listings, Promotions, Flash Deals, Social connectivity services – Group walls, Google Place forums, chat, Facebook integration etc.
- Search engine was developed to find out the results based on the coordinates of the user. This engine returns the result of listings, promotions and flash deals which are based on desired input of user. It was developed on Apache Solr.
- As a part of this project, implemented a complete chat server based on XMPP protocol. XMPP is Extensible Messaging and Presence Protocol which is an open XML technology for real-time communication, which powers a wide range of applications including instant messaging, presence, media negotiation, white boarding, collaboration, lightweight middleware, content syndication, and generalized XML routing.
- The only use of XMPP protocol in this application was for instant messaging. The chatting feature also provides the feature of file transfer. The implementation of Chat feature was based on the client/server architecture where the client as a user will send text/file to the server and server in turn, send the text/file to the intended client or user.
- The design of this application was fully modularized, scalable, highly configurable by changing XML files or updating database configuration files, robust performance and given scrutinize consideration on the extensibility and future maintenances.
- Openfire XMPP based Chat feature implementation. XMPP is Extensible Messaging and Presence Protocol which is an open XML technology for real-time communication, which powers a wide range of applications including instant messaging, presence, media negotiation, white boarding, collaboration, lightweight middleware, content syndication, and generalized XML routing. The chatting feature also provides the feature of file transfer. The implementation of Chat feature is based on the client/server architecture where the client as a user will send text/file to the server and server in turn, send the text/file to the intended client or user.
- Email Alerts Management component implementation
- Push Notification implementation - GCM (Google Cloud Messaging) APIs were used for Android users and Apple Push Notification System (APNS) were used for Apple users to send notifications on user’ mobile.
- Google Maps APIs were used to for location based services to identify the coordinates.
- Custom Thread Management component developed which controls all the threads of application. On server shutdown, this class gracefully terminates all the running threads. It waits for any thread which is in middle of any operation to let it complete the operation to avoid any unwanted results or incorrect database related transactions. This component was based on Executor framework of Sun Microsystems.
- Custom exceptions are implemented for each web service type that extends the main custom exception. Each custom exception signifies the web service type and the associated exception. In case of any business validation failure or any relevant exception/error is occurred then the corresponding exception is thrown back to the calling resource request handler. On receiving the exception, resource request handler generates the error response object which is transformed into XML by the JAXB component. This XML is then send to the client wherein the client extract the error details and perform the appropriate action.
Benefit Impact On Business
Merchants that were associated with the application and promoting their business informed that their sales are tremendously increased by significant nos. and the frequency of new orders are improving.
The way the application was presented made this possible by using very highly interactive and user friendly interfaces. The genuine verified ratings & reviews system was also one of the strongest part of the application.
- The business revenue of the merchants increased by 20%
- No. of new orders increased by 30%
Prime Focus Points
- A comprehensive and very detailed technical design document was created for this project with architecture and UML diagrams and it was highly appreciated. This document incorporates all the granular details of the application workflow, class/sequence diagrams, schema design and several other aspects of project implementation.
- Apache Solr Engine used to implement custom searches. The data communication between the Web service system & Search System is based on the object sharing mechanism.
- Monitoring and Auto alert management for observing any unexpected issue and report it to the support team via email with full description of the event
- Instant Chat messaging management system with admin console
- Highly optimized and normalized database schema design to handle hundreds of requests simultaneously
- Lightweight architecture so that can be installed on mobile app natively and interacts seamlessly with the web server without any performance issues