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.
- Clone this repo and enter!
git clone [email protected]:miklyx/Flatscatcher.git
cd Flatscatcher
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 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 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.
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.
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.
- 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