GithubHelp home page GithubHelp logo

n0th1ng-else / pararius-apartment-hunting-dashboard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from isso/pararius-apartment-hunting-dashboard

1.0 0.0 0.0 3.99 MB

๐Ÿก A NodeJS server to scrape Pararius listings and show them in a dashboard ๐Ÿ˜๏ธ

License: MIT License

JavaScript 10.09% CSS 84.71% HTML 5.16% Dockerfile 0.04%

pararius-apartment-hunting-dashboard's Introduction

Pararius Apartment Hunting Dashboard

I built this app to help me in my apartment hunt in Amsterdam. It scrapes Pararius.com for apartments that I'm interested in and populates a nice dashboard with the results where I can categorize them, compare them, add notes or see my daily commute time and distance for each listing.

Features

  • Scrap a Pararius URL every hour for new listings.
  • Maintain a local database for all properties fetched so far.
  • Add apartments to a new category automatically.
  • Allow favoring, shortlisting or hiding properties.
  • Allow saving text notes on each property.
  • Calculate the daily commute time and distance to a specific address.
  • Compares: price, surface area, bedrooms, whether it is furnished, neighborhood, distance, and compute time.
  • Show a map for each category.

Still to come if I have time:

  • Chrome notifications for new listings.
  • Chrome notifications for shortlisted or interesting listings that are not available anymore.
  • Sorting listing on various parameters. (especially the commute time and distance)

Demo Screenshots

Home Page

Leaving Notes

Maps

Google APIs

In order for this app to work and show you maps, commute time, and distance, you need an API key from Google. You can get it for free after logging-in and enabling billing here. You should enable these three APIs for the key: Geocoding API, Maps JavaScript API, and Distance Matrix API.

You can then place the key in the config file. (See below)

Configuration

You can configure different aspects for the app from the config.js file.

// We will parse the listings from this URL, open it in your browser first, adjust the filters and make sure it is in the list mode not the maps.
config.url = "https://www.pararius.com/apartments/amsterdam/1500-1900/75m2/2-bedrooms/furnished";

// Frequency of scraping and updates from Pararius in minutes. (Minimum: 15)
config.updateFrequency = 60;

// Used to calculate distance and commute time, can be any string. Please try it on Google maps first.
config.commuteAddress = "1011 DJ, Amsterdam"

// Used to calculate distance and commute time to commuteAddress. It can be: driving, walking, bicycling or transit. (transit calculate it as if you are commuting now)
config.commuteMode = "bicycling";

// Max results per page in the dashboard.
config.resultsPerPage = 20

// So as not to leech Pararius, a sane limit has to be in place.
config.maxScrapingResults = 500

// Maximum requests per second for Pararius.
config.googleApiMaxRequestPerSecond = 10

// Maximum requests per second for Google APIs.
config.googleApiMaxRequestPerSecond = 10

// Very important to calculate distance, coordinates, and displaying maps in the dashboard.
// These APIs have to be enabled on https://console.developers.google.com/: Geocoding API, Maps JavaScript API, and Distance Matrix API
config.googleApi = "GOOGLE_API_KEY"

// Where to serve the app
config.port = 8080

Building And Running

Install dependencies:

npm i

Start the dashboard:

npm start

You can then go to http://localhost:8080 to see the dashboard.

Legal Notice

All product names, trademarks and registered trademarks of Pararius are property of their respective owners. All company, product and service names used here are for identification purposes only. I'm not by any means affiliated with them or claim any rights with respect to their website or their brand.

License

The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

pararius-apartment-hunting-dashboard's People

Contributors

isso avatar

Stargazers

Sergey Nikitin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.