Fathome
Real Estate Ads by route
Search an real estate ad by route, duration or distance
Fathomeis a real estate advertisements website allowing you to find professional and private properties according to itinerary, duration and distance.
Fathome browse the largest French real estate ad sites and indexes each property in a database to provide an exhaustive list of results. When the user clicks on a link of an ad, he is directly brought to the site concerned. Fathome has the particularity of not hosting ads. The ads viewed by the user are recorded in his browser and it is possible to share the list of selected properties in the bookmarks.
Technology
Fathome is developed in Ruby on Rails, Ui Bibz and Google maps for FrontOffice.
Scraper in background
Ruby Core programation
A scraper is implemented in ruby and linked to a cron job to retrieve the thousands of ads on the largest sites of French classifieds.
Automation and adaptability
Every day the Fathome site will scan all the ads from a dozen ad sites. All this data is stored in the database in order to be accessed more quickly later. I use the «decorator» pattern to scan the different pages of each website correctly.
«Rake» tasks are launched through several «crons» tasks in order to automatize the scrapping of sites as much as possible.
Search by route, duration or distance
Each ad is integrated into Fathome's database to interconnect the concept of distance and duration with the Google Map API.
Résultats de la recherche
When the user makes a search, he can specify:
- The exact address
- The search area (in km)
- The type of property
- The type of sale
- The price
Once the searching is done, the fathome site will request the Google Maps API in order to have the exact address details. Then these data will be included in the ads corresponding to the search. Once this data is collected, the fathome site will request the Google Maps API for these results in order to complete the distance, itinerary and duration information and ultimately display them into a list on the website interface.
This web interface is structured in 2 main parts:
- A list of ads on the left side
- A map of the search location with interactive ad pointers on the right side
Sharing and History
The user can put ads in his bookmarks without having to identify himself on the site. These actions are developed in javascript through browser «LocalStorage» variables, which has the benefit of avoiding the user's connection to a server-side database.
It is possible to share the list of ads as bookmark. A base64 encoder url allows the sharing the favorites.
During a search, the displayed ads become transparent during the visit to remind the user of the history of viewed ads. As such, it is possible to find them in a page dedicated to the history of visits.
To Resume
Ruby and Javascript
Fathome is a clever mix between a Ruby on Rails multi site scrapper and an ergonomic javascript interface allowing the setting of favorite ads, as well as a history.
Its strength is of course its powerful search that allows searching by area for all ads.
Fathome, it is
- A strong application with Ruby on rails (Ruby) for the Core
- A flexible application with (Javascript) for the View
- An integration with the browser (save of ads, history)
Technology: Docker / Ruby on Rails / Javascript / Google Maps / Ui Bibz / HTML and CSS