Browser Activity Tracker
A 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. Some of the incorporated client requirements are as follows:
- Application automatically tracks each and every site and maintains the information. Also, tracks 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 in server.
- 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 automatically version control system for plug-ins for IE and Firefox browsers.
- Admin is able to change user data and logs.
- Application generates reports for each activity (browser activity date, time, duration, username, URL,error code, Installation and uninstallation report, and most used sites report).
- Secure FTP and SSH to avoid any hacking.
The challenge situation forms during 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 (frequently searched sites, credentials, and so on).
|PHP (Server Side Language)||Language) Most appropriately suited to create dynamic web pages. Enables fast extraction of data out of a database for presenting it on the web page.|
|MySQL Engine||A versatile low maintenance database management system which acts as a cross- platform compatible database component of the LAMP platform.|
|Linux||A sturdy platform with open source code for extensive customization and with powerful multitasking abilities.|
|Apache Web Server||Server Ideal for serving static as well as dynamic content on the web in a safe and secure manner.Supports a variety of features while offering extendable core functionality|
|Installshield 7.0||InstallShield makes it easy for developers to build reliable Windows Installer (MSI) and InstallScript installations for web applications.|
The design approach was built on PHP and MY SQL 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.
- Extensibility 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
- 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.
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 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: MY SQL with the tables, view and stored procedures etc.
Maintaining privacy and security was an 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 navigable through the judicious use of CSS and HTML controls. The application was developed and fully functional within a span of 3 months