PropertyWebBuilder
Please help support this project by making a contribution to PropertyWebBuilder here: https://opencollective.com/property_web_builder
Version 2.0.0 Released - December 2024
PropertyWebBuilder 2.0 is a major release representing 5 years of development and 500+ commits since v1.4.0. This is essentially a complete rewrite with a modern architecture.
What's New in 2.0
Architecture Changes:
- Converted from Rails engine to standalone application
- Full multi-tenancy with
acts_as_tenantgem - Dual admin interfaces:
site_admin(super admin) andtenant_admin(per-tenant) - New property model architecture:
RealtyAssetwith separateSaleListing/RentalListing
Tech Stack Upgrades:
- Rails 5.2 → 8.0
- Ruby 3.4.7
- Bootstrap → Tailwind CSS for public themes
- Globalize → Mobility for translations
- Cloudinary → ActiveStorage (S3/R2 compatible)
- Vite + Vue.js 3 + Quasar for admin panel
New Features:
- Seed packs system for scenario-based site setup
- Firebase authentication with Devise fallback
- New themes: Brisbane (luxury), Bologna, Bristol
- Enhanced theming with CSS variables and Liquid templates
- Faceted search with field key filtering
- Comprehensive SEO implementation
- Audit logging for authentication events
- Push notifications via ntfy.sh
See the full CHANGELOG for details.
For detailed documentation, see the docs folder, which includes:
- API Documentation
- Frontend/Vue.js Documentation
- Multi-Tenancy Guide
- Theming System
- Seeding Guide
- Deployment Guides for 10+ platforms
Additional auto-generated documentation is available at: https://deepwiki.com/etewiah/property_web_builder
Motivation
This project has been created to address a glaring gap in the rails ecosystem: the lack of an open source project for real estate websites.
The result is that WordPress has become the dominant tool for creating real estate websites. This is far from ideal and PropertyWebBuilder seeks to address this.
Demo
There was previously a demo hosted on heroku but since they ended the free plan I have had to take it down.
Create your own real estate website with no technical knowledge
The simplest way to create a website with PropertyWebBuilder is to use Heroku, a trusted service provider. They no longer have the free tier which was a great selling point but are still worth trying out.
Just sign up for Heroku, click the button below and in a few minutes your site will be ready
Here is a video about how to deploy to heroku:
Installation & Development
For detailed development instructions, including setup, testing, and troubleshooting, please refer to DEVELOPMENT.md.
For comprehensive documentation covering architecture, APIs, frontend implementation, and more, visit the Documentation Portal.
Rails Version
PropertyWebBuilder runs with Rails '~> 8.0'
Ruby Version
PropertyWebBuilder runs with Ruby 3.4.7 or higher.
Features
- Modern Tech Stack - Rails 8, Ruby 3.4.7, Vue.js 3, Quasar, Vite, Tailwind CSS
- Multi-Tenancy - Host multiple websites from a single installation
- Multilingual - Support for multiple languages with Mobility gem
- Multi-currency - Handle properties in different currencies
- Powerful Search - Faceted search with field key filtering
- Dual Admin Panels - Site admin (super admin) and tenant admin interfaces
- Firebase Auth - Optional Firebase authentication with Devise fallback
- Modern Themes - Brisbane, Bologna, Bristol themes with Tailwind CSS
- Seed Packs - Scenario-based seeding for quick site setup
- Google Maps Integration - Interactive property maps
- Customisable - CSS variables, Liquid templates, page parts system
- SEO Friendly - Comprehensive SEO implementation
- Responsive Design - Mobile-friendly layouts
- ActiveStorage - S3/R2 compatible file storage
- Fully Open Source - MIT License
Deployment Options
PropertyWebBuilder can be deployed to multiple platforms. We have comprehensive deployment guides for:
- Render - Easy deployment with automatic builds
- Heroku - One-click deployment (no longer free)
- Dokku - Self-hosted PaaS
- Cloud66 - DevOps automation
- Koyeb - Serverless platform
- Northflank - Developer platform
- Qoddi - App hosting platform
- AlwaysData - Hosting provider
- DomCloud - Cloud hosting
- Argonaut - Deployment automation
- Coherence - Full-stack cloud platform
For development setup instructions, see DEVELOPMENT.md.
Coming Soon
These are features planned for future releases. If there's something you need that's not on the list, please let us know. Your feedback helps us prioritize!
- Instant price conversions into other currencies
- More languages - help with translations appreciated!
- More themes
- Mobile apps (iOS and Android)
- RETS support - for synchronizing MLS content
- Integration with third-party CRM systems (Insightly, Basecamp)
- Full calendaring functionality for rental properties
- WordPress blog import functionality
- Neighborhood information from Zillow API
Contribute and spread the love
We encourage you to contribute to this project and file issues for any problems you encounter.
If you like it, please star it and spread the word on Twitter, LinkedIn and Facebook. You can also subscribe to github notifications on this project.
Please consider making a contribution to the development of PropertyWebBuilder. If you wish to pay for specific enhancements, please email me directly (opensource at propertywebbuilder.com).
I would like PropertyWebBuilder to be available in as many languages as possible so any help with translations will be much appreciated. A basic Spanish version of this document can be found here: https://github.com/etewiah/property_web_builder/blob/master/README_es.md
For instructions on how to add a new language, please see: https://github.com/etewiah/property_web_builder/wiki/Adding-translations-for-a-new-language
Contributors
This project exists thanks to all the people who contribute. [Contribute].
Backers
Thank you to all our backers! 🙏 [Become a backer]
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
License
The gem is available as open source under the terms of the MIT License.
