Update README.md

This commit is contained in:
Christian Kellner
2025-09-03 15:09:35 +02:00
committed by GitHub
parent 154043bed1
commit 74c3edd635

View File

@@ -1,37 +1,60 @@
# Fredy Self-Hosted Real Estate Search & Alerts for Germany
Searching for an apartment or house in Germany can be frustrating.
Fredy makes it easier: it scrapes **ImmoScout24, Immowelt, Immonet, eBay Kleinanzeigen, and WG-Gesucht**, and notifies you instantly via **Slack, Telegram, Email, ntfy, and more** when new listings match your requirements.
Fredy includes a **web UI** to configure your searches, prevents duplicates even across multiple platforms, and stores results so you wont receive the same listing twice.
<img src="https://github.com/orangecoding/fredy/blob/master/doc/logo.png" width="400">
![Test](https://github.com/orangecoding/fredy/actions/workflows/test.yml/badge.svg) [![Create and publish Docker image](https://github.com/orangecoding/fredy/actions/workflows/docker.yml/badge.svg)](https://github.com/orangecoding/fredy/actions/workflows/docker.yml) ![Check the sourcecode](https://github.com/orangecoding/fredy/actions/workflows/check_source.yml/badge.svg)
Searching an apartment in Germany can be a frustrating task. Not any longer though, as _Fredy_ will take over and will only notify you once new listings have been found that match your requirements.
## Key-Features
_Fredy_ scrapes multiple services (Immonet, Immowelt etc.) and send new listings to you once they become available. The list of available services can easily be extended. For your convenience, _Fredy_ has a UI to help you configure your search jobs.
- ✅ Scrapes **ImmoScout24, Immowelt, Immonet, eBay Kleinanzeigen, WG-Gesucht**
- ✅ Instant notifications: Slack, Telegram, Email (SendGrid, Mailjet), ntfy
- ✅ Reverse-engineered **ImmoScout mobile API** for reliable results
- ✅ Runs anywhere: Docker, Node.js, self-hosted
- ✅ Modern stack: Node.js, Express, React, Vite
- ✅ Web UI to manage your searches
- ✅ Deduplication and configurable search intervals
If _Fredy_ finds matching results, it will send them to you via Slack, Email, Telegram etc. (More adapters can be configured.) As _Fredy_ stores the listings it has found, new results will not be sent to you twice (and as a side-effect, _Fredy_ can show some statistics). Furthermore, _Fredy_ checks duplicates per scraping so that the same listings are not being sent twice or more when posted on various platforms (which happens more often than one might think).
# Sponsorship [![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/orangecoding)
If you like my work, consider becoming a sponsor. I'm not expecting anybody to pay for _Fredy_ or any other Open Source Project I'm maintaining, however keep in mind, I'm doing all of this in my spare time :) Thanks.
[![JetBrains logo.](https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg)](https://jb.gg/OpenSourceSupport)
_Fredy_ is supported by JetBrains under Open Source Support Program
---
## Demo
If you want to try out _Fredy_, you can access the demo version [here](https://fredy.orange-coding.net) 🤘
## Usage
---
- Make sure to use Node.js 20 or above
- Run the following commands:
## Sponsorship [![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/orangecoding)
```ssh
If you find Fredy useful, consider supporting my work.
I maintain Fredy and other open source projects in my spare time your sponsorship helps keep development active. Thanks for your support!
[<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg" alt="JetBrains" width="120"/>](https://jb.gg/OpenSourceSupport)
Fredy is proudly supported by **JetBrains** under their Open Source Support Program.
#### Usage
- Requires **Node.js 20 or higher**
- Install dependencies and start both backend and frontend:
```bash
yarn
yarn run start:backend
yarn run start:frontend
yarn run start:backend # in one terminal
yarn run start:frontend # in another terminal
```
_Fredy_ will start with the default port, set to `9998`. You can access _Fredy_ by opening your browser at `http://localhost:9998`. The default login is `admin`, both for username and password. You should change the password as soon as possible when you plan to run Fredy on a server.
Fredy will start on port 9998.
Open http://localhost:9998 in your browser.
## Default login:
Username: admin
Password: admin
## Screenshots