Search Engine plus Toolbar Offering Goodies
With search engines contributing enormously to the profitability of IT industry, the client wanted to introduce a concept of a search engine with a chance to win prizes. This project was divided into two sections: Web and Toolbar. Currently, no search engine rewards its users, therefore; client introduced a new concept to avail high no. of hits to the client’s search engine for which users would be rewarded. Each search is a chance to win a prize.
The client required a system that:
- Acts as a full-fledged search engine with an effective algorithm running on the backend.
- Is feature-rich exhibiting potential to compete with top search engines.
- Allows users to log in.
- Maintains browser history capturing details of the highest browsing user.
- Notifies users on winning and redeeming prizes.
- Exhibits winning timeslots.
- Provides toolbar that allows multiple users to search without visiting the website.
- Offers one-click access to YouTube, Facebook, Twitter, eBay. Bookmark and weather details from the toolbar.
- Helps in Web and Image search.
- Allows Pop-up blocking and marking a website as Home Page.
Keeping client requirements in mind, we developed a robust search engine supported by YahooBoss. The search engine incorporates all client requirements
(mentioned above) and provides an option to download the toolbar. We created a light-weight, multi-purpose toolbar that simplified users’ search at each level and
offered multiple one-click features. At the backend, the software allows performing multiple Admin activities. It offers report generation, stockpiles comprehensive user details, version control and so on.
The team faced the following challenges:
- Auto-login functionality helps users to login to the website and benefit from the
toolbar application automatically.
- Eye-catching search bar provides option for dynamic keyword search in its application server.
- Placement of “setting” icon on the right corner of the toolbar. This makes our toolbar unique from other toolbars.
- Auto-closing of the browser. Building an installer capable of installing toolbars for all browsers with improved 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||Web: PHP5+, Apache Web Server, .Net Framework 4.0, AJAX, Java Script, HTML5, CSS3, NSIS etc. Plugin and Toolbar: VC++, MFC, ATLCOM, COM+, MSDEV 2005, XPI, RDF, XUL|
|Database||MYSQL Database Server, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups|
|Quality Assurance Testers||1|
Cutting-edge technologies like VC++, MFC, ATLCOM, COM+, MSDEV 2005, XPI, RDF, XUL etc. were used to develop this application for browsers such as Internet Explorer and Firefox. The design approach was built 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.
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 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.
The following development approach was adopted to equip the site with numerous
features and functionality mentioned below:
- Implemented high level of server and data fetching technology.
- Scheduled research and analysis in order to estimate the actual level of output of data which is in a form of different verticals and business logics.
- Development – High Level coding standards have been followed for managing backup data volume. We maintained simultaneous synchronization with server for recent updates.
- Focused on syncing of existing and newly available data for backup with our database for result generation.
- Focused on flawlessly building over User Interface Layer which includes the Graphical User Interface of the website.
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: MYSQL with tables, views, stored procedures etc.
Version control mechanism was also applied to the application while ensuring privacy and stringent security. This mechanism ensured automatic downloading and switching to the new version of application. The application is highly scalable in terms of incorporating new features and enhancing
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.