Website Search Engine

Project name: Website Search Engine

Location: Yomanto,QLD, Australia

Timeline: 2 Months

System Architecture: REACT, Laravel, MYSQL, PHP, 

This project was to create a robust car database. The client required a digitalised platform that was dynamically linked to specialised car and lubricant databases which was also created by us as the client did not have a database of their own. To understand our data we started off with the purpose of use of car lubricants which play four major roles in maintaining the car’s mechanism – they control friction and wear in the engine, they protect the engine from rusting, they cool the pistons, and they protect the engine oil stored in the sump from combustion gases. These different functions helped us streamline the tiered connection between the lubricants and the cars. 

We created a pool of databases consisting of car models and their parallel lubricants as a requirement for the project was to match various car models and then linking them to their corresponding lubricants. The client wanted a dynamic search platform where the customer could easily find compatible lubricants just via inputting their car model and few other simple details. The overall purpose of this project was to create an extensive pool of data-warehouse normalised at different levels and sort them hierarchically. 

To create this digitised platform we were required to collect and compile accurate data regarding recent car models and their corresponding lubricants. API was obtained from car manufacture websites and migrated to MY SQL for data storage, analysis and linkage. The database was collected from authentic car manufacturer websites. Furthermore, to verify the data reliability an automotive expert was hired to randomly check the database and assure its credibility. The car database was then carefully linked to its intended lubricant database. Further data manipulation was done on React.js software to operationalise the search function.


  • DATA GATHERING: We took a strategic step-by-step approach for gathering the car data. We first identified our variables of interest which were the car models and their corresponding lubricants. Both our principle variables were categorical variables based on which we evaluated our further steps. While analysing the procedure of data collection we were very careful of the Quality Assurance and kept in mind the presence of all the potential systematic & random errors by developing a rigorous and detailed template on MS Excel where we would collect our data called the master-sheet. We gathered a large pool of data to increase our sample size so that we had the minimum probability of the occurrence of random error. However, it took us a while to analyse the systematic errors after playing around with the data. The next important aspect that we were very careful about after we gathered the data was Quality Control. Since the project was conducted in a team environment and our car models were all from different companies which we extracted from their authentic websites. Furthermore, the car lubricants were ascertained from different sources/distributors, detailed attention was paid while entering the data and populating our master sheet. We cross-verified by matching each column of the car model with it’s compatible lubricant by randomly searching for a  car model and assuring that the search result is giving the correct lubricant. Furthermore, to assure that our data accuracy was not compromised to any human error we freezed the access of data editing to our particular team members who were responsible for gathering the data. Which was then available to access in a set format by our expert developers to export into My SQL where they could manipulate the data by not altering anything from its original format as on the master sheet created on excel at the first place. 


  • DATA ANALYSIS: Since our primary variables under consideration were comprised of a combination of Qualitative data like (company, car model, engine type, capacity, lubricant name, country of manufacturing, car body type, etc.) along with certain aspects of Quantitative data like (year of car manufacturing and engine liter). In our analysis the independent variables were car company, model, year, engine type, engine liter, capacity and car type and our dependent variable was lubricant. So we structured our search function based on this underlying conjunction, where via inputting the independent variables details the search results gave out its compatible lubricant. 


  • DATA PRESENTATION: We used a tabular representation to segregate our variables in different columns, this made it easy for us to understand each variables characteristic based on which we treated the variable accordingly for example we used descriptive analysis to understand our qualitative variables along with bar charts, pivot tables and many others. Where possible we converted the string variable to numeric to ease up our analysis further. These visualisations helped us analyse the trends and common patterns in our data and gave an in-depth understanding of which are the most common lubricants that are used in different car models. As one type of lubricant could be used in many cars, through this we segregated our data by engine type like V4, V6 or V8 this further simplified our analysis and created an even more narrowly clustered assorted pool of car types. 


  • DATA DESIGN: In the backend coding we used React JS software tool for streamlining the indexing methods and booleans to optimise our search function. Furthermore, we made the search function as dynamic as possible by inputting code fields such as an empty string, lower and upper case string for each variable in the database to make the search bar more robust for the users. The client wanted a simplified search field comprising 7 selections assorted at a hierarchical level. This was achievable only due to the extensive pool of databases that we created and populated the rows and columns for several variables whilst maintaining its authenticity. The data was normalised in order to avoid the redundancy, anomalies (insertion, updation and deletion) and understand the dependencies. Our data was normalised at the “First Normal Form (1NF)” as the data was subject to Partial Dependency. 


As, in order to find the suitable lubricant the customer had to follow an ordered selection criteria because one company had several car models and each car model could have different years of manufacturing, engines type or liter capacity and could come in several car structure types: 

  • Car Company
  • Car Model
  • Year of Manufacturing 
  • Engine Type
  • Engine Liter
  • Capacity
  • Car Type (SUV, Sedan, Coupe, etc.)

This project gave us a lot of exposure to new techniques and tools in the field of analytics and experience of how to bring the different methods together and make them compatible for targeting a single solution, i.e. using different software and data tools targeted towards getting a cohesive output. We explored new techniques and brainstormed several ideas to overcome the barriers that came our way while designing the database structure along with the development of an analytical intelligence to visualise the data layout in the first place while we were just on the verge of starting the project. With the successful completion of this project we are even more confident about this field as we have touched new heights of expertise with rigorous research, experience and logical thinking.