WORK IN PROGRESS
The only program you'll need to find a flat in Germany as a student.
Explore the docs »
Cloud Version
·
Report Bug
·
Request Feature
Table of Contents
Flathunter is an open source software project created by two students that helps students find flats easily by crawling different real estate websites. It works by allowing the user to enter the URLs of the real estate websites they want to monitor, and then crawls these websites to save the flat listings. Whenever a new listing is posted on one of the platforms, the user is notified.
Flathunter is designed to be easy to use and customizable. The user can specify their search criteria, such as location, price, and number of bedrooms on the real estate website of their choice. After that they only need to copy the URL, Flathunter will do the rest. This is one of the features making Flathunter flexible and adaptable.
Flathunter is divided into three: Server, Client & Frontend. It is designed to be scalable, allowing it to handle a large number of users and real estate websites without compromising performance. Flathunter currently works with Ebay-Kleinanzeigen, WG-Gesucht and Immobilienscout24. The current notification methods supported are Discord Webhooks and HTTP Requests. More will be added in the future.
The project is open source, which means that anyone can contribute to it by adding new features, fixing bugs, and improving the code. It is hosted on a public repository on GitHub, where users can view the source code, report issues, and contribute to the project. Flathunter is licensed under the BSD-3-Clause license, which allows anyone to use, modify, and distribute the software for any purpose.
TL;DR Flathunter is a valuable tool for students who are searching for affordable housing. Its ability to monitor multiple real estate websites and notify users when new listings are posted makes it a time-saving and efficient tool. Its open source nature also ensures that it will continue to evolve and improve as more people contribute to the project.
Backend:
Frontend:
General:
Getting started with Flathunter is very easy. Make sure to have the prerequisites for your deployment of choice installed. After that follow the installation steps provided by us.
If you want to deploy using the provided Dockerfiles or the Docker Compose file you only need:
- Make
MacOS:
xcode-select --install
Linux distros: should be preinstalled More Info: gnu.org - Docker & Docker Compose More Info: docs.docker.com
If you want to run Flathunter on bare-metal, you'll need:
- Make
MacOS:
xcode-select --install
Linux distros: should be preinstalled More Info: gnu.org - Node (Tested and functional on v16.15.0)
MacOS:
brew install node@16
Debian based Linux distros:apt-get install node
More Info: nodejs.org - npm (Tested and functional on v8.5.5)
npm install npm@latest -g
- Go (Tested and functional on v1.20.2)
MacOS:
brew install go
Debian based Linux distros:apt-get install go
More Info: go.dev
- Clone the git repository at https://github.com/yzaimoglu/flathunter
git clone https://github.com/yzaimoglu/flathunter.git
- Navigate to the base directory and run the following command: (The command can take a while, be patient)
make docker-build
- Copy the env.example file into .env and change the environment variables to your liking
cp env.example .env
- Use the following make command to start Flathunter by using docker compose:
make docker-up
- Clone the git repository at https://github.com/yzaimoglu/flathunter
git clone https://github.com/yzaimoglu/flathunter.git
- Run the following make command to install all necessary modules and packages:
make install
- Copy the env.example file into .env and change the environment variables to your liking
cp env.example .env
- Try running the different services in development mode using the following make commands:
make dev-server make dev-client make dev-frontend
- If everything works in development mode, you can build Flathunter for production by using the following make command:
make prod
- You should now see the server and client binaries and the output directory of the nuxt frontend.
Work in progress...
For more examples, please refer to the Documentation
- Server
- REST API
- Client
- Ebay-Kleinanzeigen
- WG-Gesucht
- Immobilienscout24
- immowelt
- Frontend
- User Authentication
- Listing Dashboard
- Statistics
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the BSD-3-Clause License. See LICENSE
for more information.
- github.com/google/uuid (BSD-3-Clause) Copyright (c) 2009,2014 Google Inc. All rights reserved.
- golang.org/x/crypto (BSD-3-Clause) Copyright (c) 2009 The Go Authors. All rights reserved.
- github.com/arangodb/go-driver (Apache License 2.0) Copyright (c) 2017 ArangoDB GmbH
- github.com/gocolly/colly (Apache License 2.0) Copyright (c) 2018 gocolly
- github.com/alitto/pond (MIT License) Copyright (c) 2020 Alejandro Durante
- github.com/go-co-op/gocron (MIT License) Copyright (c) 2014, 辣椒面
- github.com/gofiber/fiber (MIT License) Copyright (c) 2019-present Fenny and Contributors
- github.com/gofiber/helmet (MIT License) Copyright (c) 2020 Fiber
- github.com/gookit/slog (MIT License) Copyright (c) 2016 inhere
- github.com/joho/godotenv (MIT License) Copyright (c) 2013 John Barton
- nuxt.com (MIT License) Copyright (c) 2016-2023 Nuxt
Yagizalp Zaimoglu - @yzaimoglu - [email protected] Reza Jaber - @rezajaber - [email protected]
Project Link: https://github.com/yzaimoglu/flathunter