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.2.tar.gz (23.4 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.2-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for smartestate-0.3.2.tar.gz
Algorithm Hash digest
SHA256 29e56f883c43a589b0c6efda8b0966591dd9f4906358d77ff0d2c5e218573325
MD5 c4bf6e771e7a35aa80a90b5267059938
BLAKE2b-256 f3e608c1fb0a93929d14e5e3d782fe64622c055cc5ac335a3dd17dcfd486c5e0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for smartestate-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2139a94222036ea2d59b968f5e609eea7a0bf6227c7878f68269dd73d27c1cb3
MD5 fca816a398949925ddc6dc59c436d92b
BLAKE2b-256 6454f13f1f49bb0b48d2c94ace2fda84136f09f51c0ebe5564ea29074669fa62

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