Browser Activity Tracker, Toolbar that tracks an overall browser activity of the user - Application automatically tracks each and every site and maintains.
2. Client needed a toolbar that tracks an overall browser activity of the user. It is basically a plug-in
developed for Internet Explorer and Firefox browser. This toolbar is developed with the intention of
enhancing user’s browsing experience and assist the client in market research. This toolbar is
active by default and provides a deactivating option also. Some of the incorporated client
requirements are as follows:
Application automatically tracks each and every site and maintains the information. It also tracks
the system IP.
Application tracks the URL and all headers of the request with the content type/error code of the
response.
Server maintains the history of a particular user and its activity.
Administrator is able to see the detailed report of all the information sorted user-wise, date-wise
and duration-wise.
Application provides the feature to show the list of all users. Data transfer takes place through
JSON technology.
Application provides automatic version control system for plug-ins for IE and Firefox browsers.
Admin is able to change the user data and logs.
Application generates reports for each activity (browser activity date, time, duration, username,
URL, error code, installation and un-installation report and most used sites report).
Secure FTP and SSH to avoid any hacking.
Client Requirement
Project Challenges
The team faced the following challenges:
The challenging situation involved incorporating the IP tracker feature. IP tracking
was a bit difficult part in the project as it included saving all the records and
settings related to the particular IP in the database and retrieving them every time
when user activity triggered for user convenience.
The application can track every browser activity such as frequently searched sites,
credentials and so on.
3. Technologies Used
Manpower
Planning
The design approach was built around PHP and MYSQL to maintain reliability, security,
and scalability of the website. Stored procedures were used for complex retrieval of
data from multiple tables and smooth functioning of the system with increased 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
Project Leader 1
Developers 3
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 logic 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
Maintaining privacy and security was the important concern. The entire framework was kept
highly scalable so that new features can be incorporated or old functionalities can be further
enhanced or customized. Comprehensive search and browse options are offered within optimized
query features. Several cutting-edge technologies were utilized to bring up this application for
various browsers. 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 3 months.