Giter Site home page Giter Site logo

dev_101's Introduction

To access the all the amazing learning resources, download the B2C Enablement Guide from HERE.

Salesforce B2C Commerce Developer 101

This repo serves as a reference point to all the developers who aspire to learn B2C Commerce Cloud -- understand the application development & exposure to all the essential platform features. Also, each branch in this repo ties back to the sessions in 'Developer Cert Prep' Webinar Series

Challenge: Brand DIY Business Requirement

This repo takes a practical approach to learning, let me introduce our fictious brand DIY -- they are a high street retailer. DIY Brand has following custom requirements:

  • Change the product search behaviour based on the customer's local weather conditions i.e. in winters, customers should get woolen products as search results while in summers, cottons & sneakers should appear as search results.
  • You also need enable the shoopers to set their weather preferences in their account.
  • Create a Toggle switch by which if required, search behaviour can be reverted back to the default one, by supressing this customization.
  • If customer has not set the account preference, then call a external web service to get the weather details for the customer's location of request.

High Level Approach:

Learning objectives in Bold

  • System Object Changes Exten the profile object to accommodate the weather preference, create a custom attribute.
  • Etending a Controller Extend the Account controller to persist & retrieve this preference.
  • ISMLs, Forms, Models, Resource Properties Make changes to the required ISMLs, Forms, Models, Resource Properties.
  • Custom Preferences Implement a custom preference toggle to turn on/off this custom behaviour.
  • Custom Attributes Extend the product system object to have a custom attribute which denotes the preferred weather for this product. Update the searchable attributes.
  • Service Framework Implement an external service integration, if preference not set in account.
  • Search Modifications Make the changes to the search behaviour based on account preference or service response.
  • Payment Provider Integration Implement PayPal as custom payment service provider.

Branch Details:

Each branch in this repo contains the changes required to a specific section/component of SFRA(Controllers, ISML...) or Platform(Metadata, Services...).

This repo has all the changes for the DIY's business requirement, idea is that you try on your own first & compare your implementation with this repo.

What's after this:

If you are done with this business requirement, i would recommend you to implement:

  • Cache the service response in Custom Cache, this is to avoid service call for each customer request for the same location. Customers from the location should be served from the same service response. Learn custom caches implementation from here.

  • Implement the job framework -- call the external service offline for the most visited locations offline & save it in custom object. In real world implementation, after having custom caches, this could give you a very thin improvement but good to learn. BTW, custom caches has limited storage -- so you still might want to do it.

--Best of luck!!

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.