Giter VIP home page Giter VIP logo

woningfinder's Introduction

WoningFinder

WoningFinder was a project that I had during the COVID lockdown, while trying to find a house in the Netherlands. It automates the process of finding a rent house by searching and reacting automatically to houses matching your preferences (think of number of bedrooms, city and neighborhood). More information about the project can be found on woningfinder.nl (in Dutch).

Having found my house thanks to this tool, I have decided to make WoningFinder backend open-source. If you want it to support more websites feel free to submit a PR that adds a connector for a housing website. Please don't hesitate to submit a PR to this repository if you have any other suggestions or improvements. Keep in mind that this project was in its early stage, so the code was not yet optimized nor pretty. I am not actively maintening this project, but I am happy to help if you have any questions.

More information can be found in the docs.

Stack

Services

  • Sentry
  • Mapbox

Architecture

WoningFinder is split in multiple components:

  • woningfinder-api, is serving the different handlers, it serves as API for woningfinder.nl frontend so the user can register, login to a housing corporation and manage their housing preferences.
  • housing-matcher, is triggered by HousingFinder via a queue (redis list). It will match the new offers to the customer search option and react to it.
  • orchestrator, orchestrates the different jobs that needs to be often ran by WoningFinder.
    • CleanupUnconfirmedCustomer sends a reminder to unconfirmed email user and deletes the customers that did not confirm their email within 72 hours. Runs everyday at 08:00, 16:00.
    • HousingFinder is used to query all the offers of the housing corporation. It connects them all and query them at the right time and sends its data to a redis queue (triggering HousingMatcher).
    • WeeklyUpdate generates and send the customer weekly updates. Runs every Friday at 18:00.
    • CorporationCredentialsMissingReminder sends missing corporation credentials reminder to matching customers. Runs everyday at 08:00, 16:00.
  • housing-finder replicates the HousingFinder job for a given corporation.
  • db-migrator initializes the database with default values (housing corporations, cities, housing types, selection methods...) and run the databases migrations. It is run as a job before every deploy.
  • city-location-updater updates the city location in the database. It is run as a job before every deploy.
  • impersonate gets a JWT token for an user in order to impersonate it.
  • customer-delete deletes customers given their email.

Issue names

  • feature and bug: Implement [Issue Name] (closes #issue)

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.