Skip to content

Latest commit

 

History

History
79 lines (47 loc) · 3.13 KB

readme.md

File metadata and controls

79 lines (47 loc) · 3.13 KB

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