Skip to NavigationSkip to Main Content
Log In Log In using your Salesforce account

DreamHouse: What is It?

DreamHouse is a sample application that demonstrates the unique value proposition of the Salesforce Lightning Platform for building Employee Productivity and Customer Engagement apps.



Features of DreamHouse


Low Code: 80% of the DreamHouse application was built without code, using Salesforce's Low Code Lightning Platform. Tools like App Builder and Process Builder make it easy to extend the user experience and automate business processes.


Mobile: In the DreamHouse sample application, brokers run their business from their phone using the Salesforce mobile app. Prospective home buyers use a custom application built with the Salesforce Mobile SDK.


Bots: In the DreamHouse sample app, customers can use Salesforce-powered bots to search for houses, check for price changes, and schedule appointments.


IoT: In the DreamHouse sample app, brokers can remotely adjust the temperature, turn on the lights, and even unlock the doors of their connected properties.


Einstein Services: The DreamHouse sample app uses Machine Learning, Prediction and Vision services to deliver smart, targeted, and predictive results.


Installation

DreamHouse is easy to install in your own org. Follow the instructions below:


  1. Create a new Developer Edition (Sign up here).
  2. Make sure you use a new Developer Edition org (using the Sign up link above). This version of DreamHouse uses features that are in Developer Preview. The package will not install in other org types. If you are using a Partner Developer Edition, make sure you enable Chatter before installing the package.
  3. Make sure you are using the Lightning Experience (default in new Developer Orgs).
  4. Enable My Domain:
  • In Setup, type Domain in the Quick Find box and click My Domain.
  • Enter a domain name and click Check Availability. If it’s already taken, try a different name.
  • Check the Terms and Conditions checkbox and click Register Domain.
  • After a few minutes, you’ll receive an email indicating that your domain name is ready. At that point, go back to My Domain, click the Log in button to login to your new domain, and click Deploy to Users.
  • Make sure the process diagram at the top of the screen indicates Step 4: Domain Deployed to Users as shown on the image below. The package installation will fail if the your domain is not in the Deployed to Users state.

menu

  1. Click this link to install the DreamHouse unmanaged package into your org.
  2. Select Install for All Users. When prompted, make sure you grant access to the external sites (api.lifx.com, dreamhouzz-push-server.herokuapp.com, and hooks.slack.com).
  3. Click the App Launcher button menu (upper left corner), and select the DreamHouse application.
  4. Click the Data Import tab, and click the Initialize Sample Data button (depending on your screen size, the Data Import tab may be under More in the tab control).
  5. Click the Properties tab, and browse properties to familiarize yourself with the data.


Upgrade Instructions

If you have used a previous version of DreamHouse, you can either install the latest version in a new org (follow the steps above), or follow the instructions below:

  1. In Setup, go to Process Builder and deactivate the four DreamHouse processes.
  2. In Setup, go to Installed Packages, and uninstall the DreamHouse package.
  3. Install the new package: follow the instructions above starting at step 4.


You are now ready to explore the different sections of this microsite and discover how to fully experience the DreamHouse application.


Architecture

Whether you get hundreds or millions of hits per day, Lightning Platform provides the deployment option that fits your needs and allows you to scale precisely to meet demand. For example, the DreamHouse sample application can be deployed using different deployment models: Force.com or Force.com + Heroku.


Deployment

Using this deployment option, the Customer Engagement application accesses data directly in Salesforce using the Salesforce REST APIs. Force.com is also used as the integration hub to connect the different IoT devices used in the application: lights, thermostat, and locks.


Force.com + Heroku Deployment

Using this deployment option, the Customer Engagement application accesses data through a set of REST services hosted on Heroku. The REST services expose data stored in a Postgres database which automatically synchronizes with Salesforce using Heroku Connect. Heroku provides caching and on-demand scalability. The Heroku application can also be used as the integration hub to connect the different IoT devices used in the application: lights, thermostat, and locks. In this sample application the Heroku application is written with Node.js, but it could be written with any other language supported on Heroku: Ruby, Java, Python, Clojure, Scala, Go and PHP.

In this sample scenario, DreamHouse is also an early adopter of bots as a new channel to engage customers. A Heroku application is used as the endpoint to handle incoming bot requests, map them to Salesforce users, and send the requests to Salesforce on behalf of the bot.



Learn more about the app on on Github.