Code Monkey home page Code Monkey logo

trailheadapps / ecars Goto Github PK

View Code? Open in Web Editor NEW
176.0 176.0 129.0 18.08 MB

Sample application for Lightning Web Components and Salesforce Platform runtime and compute capabilities. Part of the sample gallery. Electric car manufacturer use case. Get inspired and learn best practices.

Home Page: https://developer.salesforce.com

License: Creative Commons Zero v1.0 Universal

JavaScript 83.61% HTML 6.08% CSS 1.22% TypeScript 3.17% Apex 5.89% Shell 0.01% Procfile 0.02%
change-data-capture heroku kafka lightning-web-components mqtt salesforce

ecars's People

Contributors

albarivas avatar crcastle avatar dependabot[bot] avatar julianduque avatar msrivastav13 avatar muenzpraeger avatar pozil avatar satyasekharcvb avatar svc-scm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ecars's Issues

Unable to push the source code to the scratch org

Summary

When I try to push the ecars source code to the newly created scratch org. I am getting the below error:

force-app\main\default\flexipages\Case_Record_Page_with_right_sidebar.flexipage-meta.xml We couldn't retrieve the design time component information for component c:liveData.

Steps To Reproduce:

  1. Clone the ecars application.
  2. Create a new scratch org from the dev hug org.
  3. Push the source code to the scratch org.

Expected result

Should be able to push the source code.

Actual result

Unable to push the source to the scratch org.

Additional information

ecars error 1

Add step titles for CodeTour

There are no step titles in CodeTour. Let's add some for a more user-friendly learning experience.
Simply add a title property on each step of your code tours.

Screen Shot 2020-11-06 at 09 17 35

Vehicle 'Change Status' not Updated on 'Inventory' without Browser Refresh

What is missing from the application? Please describe.

  1. Log into Salesforce (Pulsar app)
  2. Go to Inventory (e.g. /lightning/n/Inventory)
  3. Click on any of the vehicles (e.g. V-000000)
  4. Click on "Change Status" to make the status different
  5. Return to Inventory and the change will not be displayed (without a browser refresh)

I am guessing it has to do with Lightning caching and not knowing the record itself has changed.

Describe the solution you'd like
Ideally Inventory view would refresh the status when it changes, maybe it doesn't have to be dynamic (as it is when you change status on an individual vehicle and it updates any other user of the change in real time) but at least when you come back to the page it would show the updated status.

Additional context
If I get any time to dig into it and get it resolved, I will push information back here.

Automated Download Fail

I have followed the steps for the Automated download.
on these step "git clone [email protected]:trailheadapps/ecars.git" my console(command prompt) throws the error.

"[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists."

so I switched on the git clone https URL.
it successfully clone the repo.
now on the last step it was failed showing these error.

" if (config.fatal) throw e;
^

Error: exec: error: unknown option `show-current' ".
Please anyone, can help on these error.

sfdx user plugin is broken after an update

Summary

After updating sfdx to the latest it broke the user plugin making ecarsDeploy script fail

Additional information

We need to make sure the user plugin is installed and working before attempting a deploy

Lead Follow Up action on Car_Configuration__c

What is missing from the application? Please describe.
During the broadcast around the 14:30 mark there was a demo of a Lead Followup Flow that was initiated from the Configuration page. I'm not seeing the action or the flow in the code base.

Describe the solution you'd like
A couple things in that flow I'm interested in - first, I'd like to see the new property editor that was released in Winter '21. And on the last page of the flow there is an option to share the PDF with customer - I'm interested in how that's done.

Describe alternatives you've considered
N/A

Additional context
broadcast

Error on push eCars code to an Scratch org

Hi folks,
I've clone the eCars repository to follow the Modern App Development youtube series and I faced the issue below when I tried to push the code to the scratch org:

Cannot specify a startsWith attribute for this language

It's happening in the Car_Options__c.object-meta.xml

Thanks!

PDF webservice not working

I have deployed everything correctly but when I try to call the PDF webService from the UI, it returns a 503 error.

image

Problems with the Automated deploy

Summary

Using the automated deploy script to deploy and running into this issue - deployment fails with this error - spawnSync sfdx ENOENT

Steps To Reproduce:

  1. Installed all the prerequisites - VS code / git / sfdx / heroku cli
  2. Executed the automated deployment instructions - node scripts/ecarsDeploy.js
  3. The script executes the - scratch org is setup successfully - when deploying to Scratch org-
    after this result - *** Pushing source to scratch org
  4. Error is seen - spawnSync sfdx ENOENT

unable to install and use the sample on the scratch org.

Please let me know for questions.

Update README regarding SFDX versioning

What is missing from the application? Please describe.
There seems to be an issue when the SFDX CLI version on the client side drifts past a certain version. This causes an error of the script not being able to find the sandbox org and will proceed to fail. This can be difficult to troubleshoot because there seems to be two ways to grab a version number of SFDX

If the command sfdx plugins --core is ran, it will give a list like this:

@oclif/plugin-autocomplete 0.1.5 (core)
@oclif/plugin-commands 1.3.0 (core)
@oclif/plugin-help 3.2.0 (core)
@oclif/plugin-not-found 1.2.4 (core)
@oclif/plugin-plugins 1.9.1 (core)
@oclif/plugin-update 1.3.10 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-trust 3.4.3 (core)
alias 1.1.2 (core)
analytics 1.12.1 (core)
auth 1.3.0 (core)
config 1.1.9 (core)
generator 1.1.3 (core)
salesforcedx 50.2.0 (core)
├─ templates 50.1.0 (core)
├─ @salesforce/sfdx-plugin-lwc-test 0.1.7 (core)
├─ custom-metadata 1.0.10 (core)
├─ apex 0.1.1 (core)
└─ salesforce-alm 50.2.0 (core)
sfdx-cli 7.77.0 (core)

At the bottom of this list, there's a version of salesforcedx of 50.2.0 (which is what the README is assuming the user is checking to use); however, the sfdx-cli also gives a version number of 7.77.0. Keep in mind, the documentation only says the "CLI" should be a certain version, and when I ran this for the first time, saw the error, I used the command sfdx -v, it gave me the version of 7.77.0 -- instantly confusing me

Describe the solution you'd like
We should standardized on which versioning we should use. Is it the sfdx-cli versioning? Or the salesforcedx one? If so, we just need to be a bit more clear on which line item needs to be the proper version instead of only saying "CLI >= insert version here ", it could be " salesforcedx >= 50.2.0 ; please run sfdx plugins --core to see the current version) "

Update to Heroku Eco & Mini plans

Summary

Heroku Free planes are sunsetting on Nov 28, we should update the deployment script and instructions to use the new plans instead.

Suggested Solution

  • Update manual instructions
  • Update deploy script

Alternative Solutions

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Error in DreamTX ’20 Demo (Automated) setup.

Summary

I have been trying to set up the eCars demo. I am encountering an error at the Automated Deploy step.

Steps To Reproduce:

  1. As I execute the ecarsDeploy.js script; the following error comes up:

Expected result

The script will create and deploy code to a Salesforce scratch org and then deploy four Heroku apps along with some Postgres databases.

Actual result

spawnSync sfdx ENOENT

Additional information

Untitled

Feel free to attach a screenshot or code snippets.

Deploy script fails using default MacOS installed git

What is missing from the application? Please describe.

The README lists git as a dependency, but it should be more specific. Git >= 2.22.0 is required because of the use of --show-current flag.

It's hard to find out for sure, but it looks like the initial release of MacOS Catalina (10.15) shipped with a git version <= 2.22.0. However, git installed as of MacOS 10.15.7 includes git 2.24.3. Not sure where in between 10.15.0 and 10.15.7 git was bumped above 2.22.0.

❯ /usr/bin/git --version
git version 2.24.3 (Apple Git-128)

Git 2.22.0 was released June 7, 2019.

Describe the solution you'd like

  • Update README to specify git >= 2.22.0 is required
  • Add check in scripts/ecarsDeploy.js for git >= 2.22.0 before using git's --show-current flag

Describe alternatives you've considered

  • Just update the README, not the deploy script

Additional context

A user ran into this and they didn't notice or know what to do with the error from their git client saying --show-current flag is unknown to git.

Error with 'Generating lead' and 'PDF' services

Summary

On the eCar Heroku web app , creating a new car request gives error
On the platform, pdf service gives error

Steps To Reproduce:

On various Lightning inputs ,selected the car configuration and click on 'Contact Me',
On salesforce platform try creating a pdf
It gives bad server error

Expected result

It should have created a lead in salesforce
It should have generated a pdf

Actual result

it toasts an bad server error "Your Subscription failed"
It toasts a 503 service unavailable

Additional information

Screenshot 2021-09-07 at 10 29 13

Screenshot 2021-09-07 at 10 23 23

Set "SF_LOGIN_URL" parameter to the "ecars-pwa" Heroku app

What is missing from the application? Please describe.
Currently the "ecars-pwa" app can only works with a Scratch Org as the Salesforce Login Url is hardcoded in the "api.js" file as below:
const conn = new jsforce.Connection({
loginUrl: 'https://test.salesforce.com'
});

Describe the solution you'd like
It could be great to modify the code based on a parameter (as this is already the case for the "microservice" app).
I made the modification on my side as below:

const conn = new jsforce.Connection({
loginUrl: process.env.SF_LOGIN_URL
});

It would really help using the app with a Salesforce Production Org. Thank you

Cyril Verhaest - Salesforce Distinguished Architect

Setup script fails when deploying PWA app

Summary

Automated setup script fails in the 4th step (PWA app setup).
This appears to be due to an issue with a npm/node version mismatch.

Salesforce Org Type

Scratch Org

Steps To Reproduce

Run the automated setup script.

Current Behavior

Setup script fails when setting up PWA app.
This appears to be an issue with the npm/node version (see full logs for more details):

ERROR: npm v9.1.1 is known not to run on Node.js v12.22.12.

Expected Behavior

Setup script works :)

Relevant Log Output

*** Setting up PWA Heroku app (step 4 of 5)
*** Generating Vapid keys
*** Creating Heroku app ecars-pwa-aged-dawn-01
*** Adding Node.js Buildpack
*** Creating Heroku Postgres database
*** Initializing Heroku Postgres database
*** Setting remote configuration parameters
*** Writing .env file for local development
VAPID_PUBLIC_KEY=BM0MV0IWIPsvj8sUpvvMlP-kpXW_qAmjJCxVye3cyXdm60B4O1wbe6ez-ikX221ZTDMr2VI07NROIu59E7VJ0hI
VAPID_PRIVATE_KEY=h4Agp1bJME43plbNM8WvZ1mbdrGdKOvFA8OKnr8Hkw0
[email protected]
[email protected]
SF_PASSWORD=bapc6hmqbmc[B
SF_LOGIN_URL=https://test.salesforce.com
DATABASE_URL=postgres://bzikliedoaspqq:007a0f44e26269c806e78b2bfd55c460b63df154ebe98d3069cbe5ea80039e59@ec2-34-227-120-79.compute-1.amazonaws.com:5432/dnsr4guqder4r
*** Pushing app to Heroku
remote: Compressing source files... done.        
remote: Building source:        
remote: 
remote: -----> Building on the Heroku-22 stack        
remote: -----> Using buildpacks:        
remote:        1. https://github.com/lstoll/heroku-buildpack-monorepo.git        
remote:        2. heroku/nodejs        
remote: -----> Monorepo app detected        
remote:       Copied apps/ecars-pwa to root of app successfully        
remote: -----> Node.js app detected        
remote:                
remote: -----> Creating runtime environment        
remote:                
remote:        NPM_CONFIG_LOGLEVEL=error        
remote:        NODE_VERBOSE=false        
remote:        NODE_ENV=production        
remote:        NODE_MODULES_CACHE=true        
remote:                
remote: -----> Installing binaries        
remote:        engines.node (package.json):  >=10.13.0 <13.0.0        
remote:        engines.npm (package.json):   >=6.4.1        
remote:        engines.yarn (package.json):  >=1.9.4        
remote:                
remote:        Resolving node version >=10.13.0 <13.0.0...        
remote:        Downloading and installing node 12.22.12...        
remote:        Bootstrapping npm >=6.4.1 (replacing 6.14.16)...        
remote:        ERROR: npm v9.1.1 is known not to run on Node.js v12.22.12. You'll need to        
remote:        upgrade to a newer Node.js version in order to use this version of npm. This        
remote:        version of npm supports the following node versions: `^14.17.0 || ^16.13.0 ||        
remote:        >=18.0.0`. You can find the latest version at https://nodejs.org/.        
remote:                
remote:        ERROR:        
remote:        /tmp/build_b40717f4/.heroku/node/lib/node_modules/npm/lib/utils/exit-handler.js:22        
remote:          const hasLoadedNpm = npm?.config.loaded        
remote:                                   ^        
remote:                
remote:        SyntaxError: Unexpected token '.'        
remote:            at wrapSafe (internal/modules/cjs/loader.js:915:16)        
remote:            at Module._compile (internal/modules/cjs/loader.js:963:27)        
remote:            at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)        
remote:            at Module.load (internal/modules/cjs/loader.js:863:32)        
remote:            at Function.Module._load (internal/modules/cjs/loader.js:708:14)        
remote:            at Module.require (internal/modules/cjs/loader.js:887:19)        
remote:            at require (internal/modules/cjs/helpers.js:74:18)        
remote:            at module.exports (/tmp/build_b40717f4/.heroku/node/lib/node_modules/npm/lib/cli.js:76:23)        
remote:            at Object.<anonymous> (/tmp/build_b40717f4/.heroku/node/lib/node_modules/npm/bin/npm-cli.js:2:25)        
remote:            at Module._compile (internal/modules/cjs/loader.js:999:30)        
remote: 
remote: -----> Build failed        
remote:                
remote:        We're sorry this build is failing! You can troubleshoot common issues here:        
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys        
remote:                
remote:        Some possible problems:        
remote:                
remote:        - Dangerous semver range (>) in engines.node        
remote:          https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version        
remote:                
remote:        Love,        
remote:        Heroku        
remote:                
remote:  !     Push rejected, failed to compile Node.js app.        
remote: 
remote:  !     Push failed        
remote: Verifying deploy...        
remote: 
remote: !       Push rejected to ecars-pwa-aged-dawn-01.        
remote: 
To https://git.heroku.com/ecars-pwa-aged-dawn-01.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/ecars-pwa-aged-dawn-01.git'

exec: remote: Compressing source files... done.        
remote: Building source:        
remote: 
remote: -----> Building on the Heroku-22 stack        
remote: -----> Using buildpacks:        
remote:        1. https://github.com/lstoll/heroku-buildpack-monorepo.git        
remote:        2. heroku/nodejs        
remote: -----> Monorepo app detected        
remote:       Copied apps/ecars-pwa to root of app successfully        
remote: -----> Node.js app detected        
remote:                
remote: -----> Creating runtime environment        
remote:                
remote:        NPM_CONFIG_LOGLEVEL=error        
remote:        NODE_VERBOSE=false        
remote:        NODE_ENV=production        
remote:        NODE_MODULES_CACHE=true        
remote:                
remote: -----> Installing binaries        
remote:        engines.node (package.json):  >=10.13.0 <13.0.0        
remote:        engines.npm (package.json):   >=6.4.1        
remote:        engines.yarn (package.json):  >=1.9.4        
remote:                
remote:        Resolving node version >=10.13.0 <13.0.0...        
remote:        Downloading and installing node 12.22.12...        
remote:        Bootstrapping npm >=6.4.1 (replacing 6.14.16)...        
remote:        ERROR: npm v9.1.1 is known not to run on Node.js v12.22.12. You'll need to        
remote:        upgrade to a newer Node.js version in order to use this version of npm. This        
remote:        version of npm supports the following node versions: `^14.17.0 || ^16.13.0 ||        
remote:        >=18.0.0`. You can find the latest version at https://nodejs.org/.        
remote:                
remote:        ERROR:        
remote:        /tmp/build_b40717f4/.heroku/node/lib/node_modules/npm/lib/utils/exit-handler.js:22        
remote:          const hasLoadedNpm = npm?.config.loaded        
remote:                                   ^        
remote:                
remote:        SyntaxError: Unexpected token '.'        
remote:            at wrapSafe (internal/modules/cjs/loader.js:915:16)        
remote:            at Module._compile (internal/modules/cjs/loader.js:963:27)        
remote:            at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)        
remote:            at Module.load (internal/modules/cjs/loader.js:863:32)        
remote:            at Function.Module._load (internal/modules/cjs/loader.js:708:14)        
remote:            at Module.require (internal/modules/cjs/loader.js:887:19)        
remote:            at require (internal/modules/cjs/helpers.js:74:18)        
remote:            at module.exports (/tmp/build_b40717f4/.heroku/node/lib/node_modules/npm/lib/cli.js:76:23)        
remote:            at Object.<anonymous> (/tmp/build_b40717f4/.heroku/node/lib/node_modules/npm/bin/npm-cli.js:2:25)        
remote:            at Module._compile (internal/modules/cjs/loader.js:999:30)        
remote: 
remote: -----> Build failed        
remote:                
remote:        We're sorry this build is failing! You can troubleshoot common issues here:        
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys        
remote:                
remote:        Some possible problems:        
remote:                
remote:        - Dangerous semver range (>) in engines.node        
remote:          https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version        
remote:                
remote:        Love,        
remote:        Heroku        
remote:                
remote:  !     Push rejected, failed to compile Node.js app.        
remote: 
remote:  !     Push failed        
remote: Verifying deploy...        
remote: 
remote: !       Push rejected to ecars-pwa-aged-dawn-01.        
remote: 
To https://git.heroku.com/ecars-pwa-aged-dawn-01.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/ecars-pwa-aged-dawn-01.git'

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.