Streamlit App to search for rental properties
I’m back in this new year with a new series of articles.
Last year I wrote about NLP, spacy, and these subjects.
But now I’m going to write about a new project using Streamlit.
But now I’m going to write about a new project using Streamlit.
It will be a series of articles talking about how I did this and using technologies such as Python, MongoDB, Streamlit, Docker, and deploying in a Virtual Machine (DigitalOcean or EC2).
Project’s Goal:
I’m looking to rent an apartment in a new city in Brazil, this city is Campinas, it’s about 100km from São Paulo.
I’m having a lot of trouble looking for a good apartment on traditional real estate websites, I can't find the location of properties, and I don't have the surroundings and other key information about the city to find a better property to rent.
Okay, now that I’ve explained the purpose, let's look at the project structure.
For the Extraction part, I used selenium and beautiful soap to extract key information from the real-estate portal.
To transform the data, I used regex to clean up the texts and add new columns to the data.
Since we’re dealing with the address, it’s important to add the latitude and longitude for the properties, so I used geopy to add that information.
And uploaded the data to MongoDB Cloud.
Sharing my app, there are a few options to do this.
I can use my own corporate network or the cloud.
I choose to deploy in the cloud, you can deploy on AWS EC2 or DigitalOcean (a cheaper and easier-to-set-up alternative).
But for that, you need to containerize it using Docker.
That’s it, I’ll explain in the next articles how I did each part of these projects, it's an end-to-end project.
Of course, that are many more things I can to do improve it, like using airflow to schedule the pipeline to always have the updated properties to look for.