It takes a dataset of around 40k trips and filters out the trips based on certain criterias like booking of trips on mobile versus online site bookings and its frequencies, what vehicle model ids does the customers in the point density that we plotted does the customers prefer to take etc. Many Visualizations can be easily traced with a thousands of other awesome libraries.
The application does not allow treepassing also since it is just the frontend so it lacks persistence which the database offers, so what I have done is that I have implemented some router guards the guard checks for that if the file is uploaded, then only you are allowed to see the coordinate density map and the visualizations. But being frontend once you reload the application, its state will no longer persist, you will have to upload the dataset and then continue. Next thing is the application is made purely using React. Now it can be a question that why React ? I had earlier implemented the application with Vuejs with the repository there on my Github but the flaw it had was with the library that took care of maps Vue Mapbox it is not that stable to render that high coordinate density. So I went with React and made an implementation using Reactjs. Reactjs being one of the best frameworks and libraries in the frontend world offers more freestyle coding and best open source, maintainable and popular utilities like one provided by Uber. Uber has made awesome libraries and packages as wrappers for React.js only like react-map-gl which I have used it is able to render high coordinate density within minutes and is highly stable being backed by a tech-giant like Uber. For styling I have made use of styled components for making the application entirely responsive across all device sizes ensuring that UI should not freeze while the coordinate density renders it is very important for the user experience of our customers. For backend I have made use of Node.js simple reason is that is fast and SCALABLE. The server is written in Express.js and for handling csv files I have made an upload component that only allows CSV files to get uploaded and won't accept any other mimetypes except CSV.
I would suggest that based on the visualizations that I traced is that the company should develop a mobile application for its customers and do some strong marketing to promote their application like what we have seen for Uber, Ola etc. which have a large customer base who make their bookings using mobile sites over online. Next is a specific vehicle model id being preferred over other vehicle model ids is that the customer prefers a specific vehicle over others - some of the possible reasons for that could be that the customers might prefer to have facilities that are available at cheaper rates, it also depends on many other factors that are not there in the dataset like weather etc., also for trips where the cab is mini that is supported for only 1 to 3 passengers at a time, they prefer to take the mini cab for it also because of affordable costs. Next is the frequency of taxi pickups should increase over not so populated areas.
Application live at : https://calm-peak-88596.herokuapp.com/