Skip to content

Proof of concept for flat search in Berlin. Uses existing DB without scraping.

Notifications You must be signed in to change notification settings

miklyx/Flatscatcher

Repository files navigation

Flatscatcher

This is an application for searching flats in Berlin. It provides list of actual flats, map, profile and preferences setup. When you changing some data - stored procedures run at database and update a bunch of tables.

It contains server side, client side and database.

Getting started

  1. Clone this repo and enter!
git clone [email protected]:miklyx/Flatscatcher.git
cd Flatscatcher

Backend

Backend built on koa server

Backend located inside /server folder. To install dependencies run npm i command from it and then nodemon index.js to run your database. Take a look at controllers/index.js file to find settings for your database connection.

Frontend

Frontend built on react native framework. To run it install dependencies from /client folder by running npm i command. Then run npm start to start the app.

Scan QR code with expo application and explore application.

It's easy to see application in mobile app emulator - you will need to install android studio with android phone simulator and/or xcode with iphone simulator.

Note

I would recommend you also have Emulator extension installed in your VSCode.

Take a look inside apiService.js file to locate backend api URL - when you will run it in emulator this must be the value of a gateway of your virtual network.

Database

Database is provided in file flatscatcher.sql - this is a simple postgres dump file which can be restored to your database. It contains schema with needed tables, stored functions to run this app.

Underwater part

Warning

This app uses a data gathered by another app - it parses immobilienscout24, > > > kleinanzeigen, wg-gesucht and immowelt for new appartments and sends it to local > sqlite and to telegram messenger. Underwater part contains prepare of that data > and push it into clear table in DB of app. Underwater part lives here. For now it's not deployed yet, but has a stable flow of incoming data.

Tips and flow

Note

Inside code I've made some comments TECH DEBT - for functional to be improved.

Another comments in code for your comfort.

In beginning database contains lack of data - there is a /server/service/getCoordinates.js file to be runned separately to get and store coordinates for apartment list provided - for now only for preferred apartments.

What better have also

  • Authorization
  • Automatic get coordiantes from external api
  • Search by price, size
  • Sort by price, size
  • Apply - open URL of appartment (has in properties) problem is that apartments coud be not actual in 10 minuses, especially in immobilienscout24.
  • Generate selbauskunft - letter to landlord with your data
  • Get push notification when new apartment comes to database
  • Check if apartment still exists on website

About

Proof of concept for flat search in Berlin. Uses existing DB without scraping.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published