Charity Based Payment Deduction Toolbar Application with payment gateway integration built with VC++, MFC, ATLCOM, COM+, MSDEV, XPI, RDF, XUL for IE, firefox & chrome
2. Client required a toolbar to serve multiple purposes for which this toolbar was developed. This
application offers variety of services along with serving its main purpose of deducting some
amount for charity from user’s account with user’s permission and choice. Some of the features
that this toolbar includes are as follows:
Allows quick search in Yahoo, shows news, sports, shortcuts to frequently used applications,
and so on.
Allows tracking browser activity and saves the details on the server.
Pops up charity information.
Allows changing organizations obtaining charity from among thousands of choices.
Shows amount to be deducted in percentage for each site.
Enables continuous client/server communication.
Enables IP tracking.
Control of the application has been passed on to Admin section.
Version control system automatically upgrades the version of the application.
Use of JSON technology for communication.
Client Requirement
Project Challenges
When the project includes variety of features, there are certain challenges that the team
faces during development. They are as follows:
Keeping track of complete browser activity is a difficult task. Tracking browser
activity includes everything that the user does over Internet.
Managing a complex database with continuous saving and retrieving of information.
Tracking IP address and details pertaining to a particular IP address.
3. Technologies Used
Manpower
Planning
Cutting-edge technologies like VC++, MFC, ATLCOM, COM+, MSDEV 2005, XPI, RDF, XUL etc. are
used to develop this application for browsers like Internet Explorer and Firefox. The design
approach was build around PHP architecture to maintain security and scalability of the application.
Using MYSQL ensured query optimization and stored procedures were used to handle complex
queries from multiple tables to enhance system performance.
Extendibility and flexibility in development structure ensured “faster to market” transitions. In
order to most effectively access the database in an object-oriented context, an interface
translating the object logic to the relational logic was used to communicate with the relational
databases in an object-oriented manner.
Accessing the database required the formation of an intermediary abstraction layer which
ensured hiding the implementation details of a particular set of functionality.
JSON technology was used for frequent server communications for better performance.
Operating System &
Server Management
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
Development Tools &
Environments
PHP5+, Apache Web Server, Installshield 7.0, AJAX, Java Script,
HTML5, CSS3, JSON etc.
Database MYSQL Database Server, DB Clustering, DB Optimization, Master
Slave Replication, Query Optimization, Scheduler for Backups
Developers 1
Designers 2
4. Architecture
Keeping in mind the peculiar structure of the application and the challenges involved, N-tier
architecture was adopted with all the layers loosely coupled with each other.
Presentation Specific Layer: This includes the page-level layer which will be accessing the other
layers beneath to present the data.
Business Specific Layer: This acts as a bridge between the Presentation Layer and the Database
Layer. This will contain all the business logics for the different components involved in the project.
Database Specific Layer: This acts as a bridge between the physical database and the business
logic accessing the data.
Physical Database Layer: MYSQL with the tables, view, stored procedures etc.
Development Highlights
While ensuring privacy and security, version control mechanism was also applied to the
application. This mechanism ensured automatic downloading and switching to the new version of
application. The application was highly scalable to incorporate new features and enhance the
existing ones. Comprehensive search and browse options are offered within optimized query
features. Web usability guidelines were strictly adhered to during the development and the
interface was easily made navigable through the judicious use of CSS and HTML controls. The
application was developed and fully functional within a span of 4 months.