Skip to main content

Django site for real estate brokers

Project description

SmartEstate

About

Django app for real estate brokers. If you are a real estate broker, you can use this to power your website, and the backend will allow you to manage your listings, apartments, offers for sale, as well as potentials - renters, buyers, etc.

Features

  • Manage properties for rent and for sale
  • Manage potential clients
  • Manage your website, add custom pages
  • Multilingual database: English, German, French, Spanish, Italian
  • Your clients can filter available listings based on size, number of rooms, rent, etc.
  • Vice versa: In SmartEstate's backend broker app, if your apartment has 3 rooms and monthly rent of $1000, you can click on it and SmartEstate shows you all registered clients who might be interested.

Installing/usage

Pull latest Docker image

docker pull belalibrahim/smartestate:latest

Alternative: minimal docker-compose.yml

Paste the following into an empty file, name it docker-compose.yml, run docker compose up -d, and then brose to http://localhost (or whatever host you specified).

services:
  db:
    image: mysql:8.3
    restart: always
    environment:
      MYSQL_DATABASE: smartestate
      MYSQL_USER: smartestate
      MYSQL_PASSWORD: insecure-please-change
      MYSQL_ROOT_PASSWORD: insecure-please-change
    volumes:
      - db_data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 5s
      timeout: 5s
      retries: 10

  web:
    image: belalibrahim/smartestate:latest
    restart: always
    ports:
      - "80:8000"
    environment:
      DEBUG: 0
      SECRET_KEY: insecure-please-change
      ALLOWED_HOSTS: localhost,127.0.0.1
      CSRF_TRUSTED_ORIGINS: "http://localhost,http://127.0.0.1"
      # Alternative: use these instead, if you have a public webserver
      #ALLOWED_HOSTS: your-web-host.com
      #CSRF_TRUSTED_ORIGINS: "https://*.your-web-host.com"
      DATABASE_ENGINE: django.db.backends.mysql
      DATABASE_HOST: db
      DATABASE_NAME: smartestate
      DATABASE_USER: smartestate
      DATABASE_PASSWORD: insecure-please-change
    depends_on:
      db:
        condition: service_healthy

volumes:
  db_data:

Alternative: Run locally from source via Docker Compose

git clone https://github.com/belal-i/smartestate
cd smartestate
docker compose up --detach --build

Advanced: Run locally from source via Django's runserver (for developers)

  • Install platform requirements (for the MySQL driver, see https://github.com/PyMySQL/mysqlclient)

    • Debian/Ubuntu

      apt install  python3-dev default-libmysqlclient-dev  build-essential  pkg-config
      
    • Red Hat / CentOS

      yum install python3-devel mysql-devel pkgconfig
      
    • Other distros / macOS / Windows: See the docs for mysqlclient, you probably have to install similar libraries. Otherwise, if you don't need MySQL (ie. using SQLite locally), you can comment out mysqlclient from the dependencies in pyproject.toml and it should work.

  • Build app from source code:

pip install .
  • Alternative: Install Python package:
pip install --upgrade smartestate
  • cp .env.example .env and configure with appropriate values.
  • python manage.py migrate
  • python manage.py createsuperuser
  • python manage.py runserver
  • Unit tests: python manage.py test

Set up the cookie group in the Django admin, and make it optional for the cookie banner to appear.

Roadmap

This project is still in beta stage, there are still some issues, things might still be a little unstable. However, it's come along nicely. If you decide to use this in production, and encounter issues, please don't hesitate to open a ticket. Also, if you wish to contribute, again, feel free to reach out :-)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smartestate-0.3.3.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smartestate-0.3.3-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file smartestate-0.3.3.tar.gz.

File metadata

  • Download URL: smartestate-0.3.3.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for smartestate-0.3.3.tar.gz
Algorithm Hash digest
SHA256 49a61edd6c7e8b486d57120cc9e2c68ba8f58fb8096f1772d0c2b6902b7e2614
MD5 872d17cd05f3703c51166e1d09f124d1
BLAKE2b-256 63564ace0ca2e6c335a973cc28bb592c63d33b459b38aa30161e7993d0fd9c8c

See more details on using hashes here.

File details

Details for the file smartestate-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: smartestate-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for smartestate-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 feb819262d047b890fd609cef96af091c980d453fdaabc3bd06eb52e82627c74
MD5 844ddb48c1906941ca9ca65aa58ca110
BLAKE2b-256 3bf8eb37ac0b815654c1fc7487eb36c7d55f3ef1e78af601e8a2e85b2cd06ba4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page