Inspiration

This project comes from the need or desire of buying a new phone. We both run into a challenge every time we want to upgrade our gadgets: we want to buy a phone, or pc, or laptop that has the necessary requirements to do all the tasks that we do, but also that minimizes the prize. To do this, we usually have to search in multiple pages in order to find different devices (or even different versions of the same device!), compare them, and then choose the one that best fits us. This can be an arduous task, so we decided that we could make our life easier if we could make an app which had all the technical information about them, and let us make an easier comparison.

What it does

Our application lets you find the best IT products for your needs. When you start searching for a type of device, it first gives you a list of the most popular devices, an information that is extracted from various web pages. You can then proceed to filter the devices: you can choose between a wide range of technical specifications you want to focus on, or you can either do a lees deep search, by just searching for a price range, the most popular devices of this range, or search for devices that can run certain applications (like searching for a VR ready PC, or a phone that can run a quite demanding game like Genshin Impact). The advantage of this app is not only that it has all necessary information in one place, but also that it has information from various sources, and links to the products.

All this said above is theoretical. As you can see, it's quite an ambitious app, one that a team of two members has it difficult to complete before the end of the hackathon, so we had to reduce our initial expectations, and attain a more feasible challenge.

After the 36 hours of working, our product has a small database made out of 100 mobile phones, each with some technical specifications (only 19 attributes, even though the data had about 300, because with 19 it's enough for us to make the basic ideas. The other data will be included when implementing more sophisticated filtering methods).

When entering into the app, you can choose whether to search for a laptop or for a phone. As the data we had is from mobile phones, the laptop part is not implemented yet. Once inside, you can see the different products that are available in the data set (the images are not the ones corresponding to the phones, as the data set didn't include images), but are set for a better understanding of the project. You have various filters that you can apply to the phones, and see how the changes are done. The changes are now some basic ones (like the price one, the amount of battery of the gadget, the amount of memory, the brand of the phone, and if it can run a certain videogame). In theory you could see the information of a product just by clicking on it, but even though the programming of it is easy, programming the visual layer in which it will run is a harder task, so we didn't have time to do it.

How we built it

We started by creating a Class Diagram of what our ideal app should have. We tried following it during the implementation, but as it was very ambitious, we had to make some changes to be able to finish up.

To build the app, we have used Android Studio, programming the app with java.

The database was extracted from https://phonedb.net/. We contacted them during this hackathon, to ask them for using their API. We couldn’t get access to it, as the time between their questions and their responses was a bit high, but they sent us the data dump that we used.

For the prices and rating, we tried to do some web scraping, but it was also difficult for two people who had never done it before, so we did a part automatically and a part manually.

Challenges we ran into

One of the first changes we ran into was that we needed to familiarize ourselves with Android Studio. Even though it runs with java, it has some changes that make the development slower.

We also had trouble with the data. At first, we sent requests to various phone databases, without any hope that they responded on Friday night, so we tried to get the data in some other ways. We saw that it didn't work, and were surprised when a company contacted us back.

Another challenge was obviously completing the data with price and rating. We had just technical specs, but we needed to filter also by price and users’ rating.

The last challenge we faced was putting it all together. We had to choose carefully our data, in order to use a reasonable amount of data for being able to track any errors that we might have. However, we faced some coding errors, which have turned into a longer night that we expected.

Accomplishments that we're proud of

We are proud of having established the structure that the final application could have. We also could gather some data about phones. Even though we couldn’t use the whole database, knowing where to find it makes us think that this project is easier to be continued, once the hackathon is finished.

What we learned

We learned how to use Android Studio, the basics of data and web scraping (even though it didn’t work all the time we wanted, it’s still an improvement). We also learned the structure of some software architectures and patterns, as we tried to apply them while working on our project.

What's next for Com Tu Vulguis

The next step for “Com Tu Vulguis” is to end the implementation of the app. We didn’t have time to finish all the ideas we had, so that’s the next thing to do. The idea of this app is to find a device as you want (“Com Tu Vulguis”), so we should also add more filter options for a greater customizatable experience.

Built With

Share this project:

Updates