When trying to determine the best way to understand the vast multitude of data presented with the database provided, our group truly resonated with the idea of having an advanced search-based web app. We wanted the user to be able to analyze trends not just present in different cars, but also be able to selectively highlight which information they want to see at any given moment. With our advanced search button, provided the user gives a make and model, we can show them basic information, information that should always be shown, but also specific information that may or may not be relevant given the situation that is at hand for the user. For example, if they want to see basic information + information about a specific car's CO2 emissions, then by pressing the checkbox, the user will be able to see that information without any excess clutter, thus making our web app much more readable and concise instead of the wildly cluttered and crowded database originally provided.

Our team built our project first by working on the front-end and its design. We wanted something very simple and aesthetically appealing, in the sense that there were not many complicated features a part of our app. We learned through trial-and-error how insanely difficult this can be. Oftentimes, we would not have checkboxes working and vanishing after being clicked, or buttons that simply would not trigger the responses we were expecting. These front-end challenges proved for us however, that failure helped us learn more about how to develop a website. Through the use of Python and StreamLit, we made a rudimentary website where there are simple buttons, short-answer fields, and checkboxes, as well as eye-catching fonts and a simple yet aesthetic color scheme. We learned about the different features we could add on and how we can make it look visually easy for the user. Our team then moved on to the back-end of our solution, and this part was incredibly difficult. We initially tried to code it in Java on a separate IDE and through using linked lists to help with data selection, sorting, and reordering but quickly realized that it would be difficult to access the data through 50+ instances of data and to organize it continuously. Our team then pivoted and instead of thinking about our back-end as one entity and our front-end as another, we shifted to thinking about ways to integrate our back-end into our front for both less hassle, as well as thinking what different ways we could integrate the data within the web app. Our team then thought about using sql and databases. It was a novel topic for us, but we were determined to try to understand it and use it within our code because it would allow for all the features we wanted to add while also not having to fully change our database and having to copy all of its information into an array or something else. We quickly researched a way for being able to read an excel sheet and put all that information into a database, which was not too difficult, but what became difficult was trying to integrate our advanced search buttons with our method of displaying the selectively searched data. We kept either missing information or having errors in our code, which was frustrating. However, we pushed and kept working at the problem relentlessly, until finally, our database worked seamlessly with our existing front-end. We learned about sql commands and how to access only specific information as well as try-catch methods and how databases work fundamentally. We also learned about how we can access information as values in our front end (eg. if a button is pressed or checkbox is checked) and use that to run our back-end information to display what the user wishes to see as well.

Even though our web app may not be too developed or sophisticated, it gets the data across in a simple manner that is easy and user-friendly to understand, which is what inspired us in the first place. We truly wanted for our web app not just be for employees, but also other users to be able to see this information and be able to understand it concisely. Our team is proud of all we learned and the efforts we put into fully being able to present a functional web app that accomplished essentially all of our goals, and we could not be happier!

Built With

Share this project:

Updates