You can build and run almost any part of your business on the Salesforce Platform. You probably already know that, so instead of telling you, let’s look at a new sample application we’ve created. It’s using multiple parts of the Platform in an integrated way to improve and streamline the experience of both employees and customers for Pulsar Motors, the newest fictitious electric vehicle company.
eCars
We call this sample application eCars, and it shows how the fictitious Pulsar Motors uses the Salesforce Platform. It includes technologies like Sales Cloud, Service Cloud, source-driven development, event-driven architecture, Lightning Web Components, Heroku, Node.js services, a Progressive Web App, streaming data, Internet of Things, Postgres, and Apache Kafka.
While that list might grab the attention of those of us who get excited about raw technology bits, the more important questions to think about are why and how. Why are these technologies useful to Pulsar Motors? How is it all put together into something useful for the company?
Why
I want you to picture Pulsar Motors, a new and fast-growing electric car company. Pulsar needs software to help run its business. As a developer, I don’t want to build all that software from scratch because it would take a long time, potentially letting a competitor get ahead of Pulsar. It would also require a lot of time to maintain and operate. So Pulsar’s small team of three software developers are going to build on top of the Salesforce Platform. This means we get many benefits out of the box, letting us focus our time on work that is most impactful to the business.
We’re being asked to build a system that supports a few different “customers” or users: a consumer investigating and purchasing an electric car, a salesperson helping the consumer with the purchase, and a service technician helping customers resolve any issues they might have with their Pulsar Motors vehicle.
Let’s pause for a moment and think about the significance of all this. It would take many months, if not a year, for a team of three software developers to build a customer-facing website, a CRM tool, a customer service tool, and integrate all of these. Using the Salesforce Platform, our small team of three developers is able to build and operate three critical pieces of the business and integrate them all in just a few months. This has saved us time we would have otherwise been spending building and operating lower level software.
How
If you want to jump right into trying out the sample app, check out the deploy instructions in the README of the trailheadapps GitHub repository. The automated deploy script takes a little while, so start it up and then finish reading this blog post to learn about all the features of the sample application and why we built them.
Let’s look at some aspects of the sample app.
The Car Configurator component, built using Lightning Web Components and Lightning Data Service, enables a Pulsar salesperson to configure a car for onsite customers and to generate a PDF using a custom built Heroku Service showing the customer’s selected car configuration options.
Within Service Cloud, a Pulsar service technician can view live diagnostic car data like current speed, % battery remaining, and both MPGe and range to diagnose a customer’s car. Data is sent from the car using MQTT and streamed to Salesforce from Kafka over WebSockets.
The Progressive Web App can run in the browser, or as a native app on desktop client (as above). By leveraging Lightning Web Components and Lightning Base Components on npm, Pulsar quickly reused components from the employee app to create this customer-facing app. To upload data from the customer-facing app into Salesforce, the new Composite Graph API is used to map out complex data models, and commit changes within a single transaction.
An event-driven architecture using Change Data Capture allow Pulsar to synchronize data with other systems in realtime. They can also leverage the same technology to support their sales reps with real-time data updates across devices.
Pulsar maintains a single source of truth, from customer lead to car configuration options, by securely storing data for all aspects of its business in Salesforce.
Conclusion
Hopefully you have a better understanding of the flexibility and ease of developing on the Salesforce Platform.
If you haven’t already, check out the eCars GitHub repo. We’ve created a deploy script to automate the deploy of all parts of the demo. We’ve also documented the full manual deploy instructions so that you can dig into the individual steps of the deploy.
About the author
Chris Castle is a Director of Developer Advocacy for Salesforce, focusing mostly on Heroku. He thrives on simplicity and enabling others. He writes JavaScript, Ruby, sometimes Python, and more shell scripts than he wishes to admit. You can reach him on Twitter at @crc.