One of the functions of my web app is the ability to search for apartments/rentals, similar to Zillow and plenty of other websites out there. How should I go about setting up the database?
I would like users to be able to search by 1) City, 2) ZIP Code, 3) County, or 4) Neighborhood. So would I need to create a different data type of each of these and then when I create a new Rental Listing entry (which will contain a Property from the Property data type), I can set the ZIP Code, neighborhood, county, and city fields as their respective data types?
I would like to eventually pull in rental listings from other websites (i.e. from Zillow). Do I need to consider anything now with my database if I’d like to figure out how to do this in the future?
I would recommend reading a book or an e-book or two on database design and structure. One important aspect in my mind is relational databases.
I spent the time myself learning a lot of what I needed to know to build successfully on bubble, off platform, and using the internet at large to answer for myself some of the questions I had. I think the forum is a great place to get some ideas, but it isn’t necessarily the first place we should look to for answers on more complex issues, like how to set up an entire database.
There are lots of sites that have database design schemas you can follow, you may have luck googling “zillow database design” or something similar.
Database design take a lot of time and consideration. After reading through the web on the subject and an e-book it took me about 4 days to build my database from the first paper and pen idea generation of what I want my app to do and so what data do I need to store, to the implementation of it in bubbles interface to then double and triple checking all relations are set up properly for efficient “calling of data”.
In terms of your specific need for City and other geographic location parameters, you can use geolocation as an address field to get that data using the google api. Then how you store it is up to you and your apps specific needs.
You may consider creating relationships between property listings and cities ( or other locations ) so that you can search for all property listings and filter by city OR search for specific city and it’s list of properties.
You could also look at the sites you are trying to recreate and see what data they are storing upon sign up ( ie: when a user loads a new listing into zillow what do they ask for ) as well as on display ( ie: what information do they display on the page ).