Skip to content

georgeslight/flat_finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flat Finder Doc

Overview

  • Project Name: Flat Finder
  • Project Description: Tool for finding shared apartments using user preferences and shared-apartments descriptions.
  • Data Source: Scraping wg-gesucht using Selenium.
  • Approach: Unfiltered scraping, temporary storage in a JSON file, structural and deep filtering, recommendation generation.
  • Tools: Selenium, MongoDB, GPT-3.5, Telegram.

Components

Use-Cases:

  • Profile creation and update.
  • Preference setting.
  • WG recommendations (active and passive).

Workflow

  • Creating User: User will be created in UI and preferences will be set.
  • Scraping: Collecting data from wg-gesucht using selenium.
  • Storage: Temporary storage in a JSON file.
  • Filtering: Apartments data will be filtered for the user.
  • Recommendation: Deep filtering with non-structural data, generating recommendation for user and an example application text.
  • UI notification: Notifying the user of the recommendation and example application.

Setup

  1. Download Telegram on your Smart phone (IOS) or Desktop (windows)
  2. Create an account in Telegram.
  3. setup your env. file to the flat finder Folder:
  4. download the Google Chrome browser.
  5. Install the requirements:
    pip install -r requirements.txt
  6. Run the Agent:
       python main.py
  7. Run the Telegram Bot:
      python src/FE/app.py
  8. Start the conversation with the FlatFinderHTWBot:
    1. Start a Chat with the bot using this link.
    2. Klick on the start button or send /start.
    3. send /profile to set up your profile and preferences.

congrats you are ready to go!


Testing:

  1. uncomment the Line 384 in FE/app.py.
    # response = agent.get_response(user_id, message)
    ```:

img.png 2. use this example user Data for creating your profile

  {
    "average_monthly_net_income": 2000,
    "date_of_birth": "2000-01-01",
    "email": "[email protected]",
    "employment_type": "Student",
    "full_name": "John Doe",
    "phone_number": "1245",
    "smoker": false
    "additional_info": ["balcony", "peaceful"],
    "address": {
      "street": "Seidelbastweg",
      "house_number": 1,
      "zip_code": 12357,
      "city": "Rudow",
      "country": "Germany"
    },
    "apartment_preferences": {
      "max_rent": 600,
      "location": "Berlin",
      "bezirk": ["Mitte", "Friedrichshain", "Rummelsburg", "Wedding", "Kreuzberg"],
      "min_size": 20,
      "ready_to_move_in": "2024-06-01",
      "preferred_roommates_sex": "gender_irrelevant",
      "preferred_roommate_age": [20, 30],
      "preferred_roommate_num": 3,
      "smoking_ok": false
    }
  }
  1. this will make sure that you receive a static listing stored in the output.json file.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages