0% found this document useful (0 votes)
29 views

Order Management Project

The document outlines requirements for developing an order management system on the Salesforce platform. Key features include allowing users to search products, add products to a cart that persists between sessions, place, return, and cancel orders, track order status without logging in, and integrate with an external system. The project involves designing object models for orders, products, payments, and other entities to support the required features. It will be implemented in phases, with the first focusing on data modeling.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Order Management Project

The document outlines requirements for developing an order management system on the Salesforce platform. Key features include allowing users to search products, add products to a cart that persists between sessions, place, return, and cancel orders, track order status without logging in, and integrate with an external system. The project involves designing object models for orders, products, payments, and other entities to support the required features. It will be implemented in phases, with the first focusing on data modeling.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Project - Order Management

About the Project

You are working for a company called E-Zone as a Salesforce Developer and you have been assigned to a project where the
task is to develop a new digital experience for their customers. The end result should be a digital experience built on top of the
Salesforce Platform where users can perform the below tasks.

Functionalities must be available after the completion of the project

END-USER FUNCTIONALITIES

1. User must be able to search the product by name and category


2. The user must be able to add the product to the cart and if the user logout and comes back another day user must be
able to see the existing product
3. End-User must be able to place, return and cancel an order
4. The user must be able to add/edit/delete the address book
5. The user must be able to log a case for any issues and check the status
6. Use must be able to track the order status without log-in into the system
7. The user must be able to chat with the support agent
8. User must be able to see FAQs without login
9. Once the order is created we need to send the order to an external system.

INTERNAL USER FUNCTIONALITY

1. The user Must be able to see the cases and work on those
2. User Must be able to see the knowledge article and then attach those articles to that case
3. Can Work on Orders and Edit those order records
4. User Must be able to see the Account Request record and approve/reject them
NOTE: -

1. There might be some requirements that will not be mentioned in the document and you also need to implement that if
you implement anything which is not outlined in the requirement then consult with the client/ senior and then implement
that part.
2. Before going with any custom development try to find the solution which can be done using automation tools like
Process Builder, Lightning Flow, Workflow Rule, or Approval process
Phase 1
Module 1 - Data Model for the Project

This module will focus on the Data Model of the Project and involves a detailed description of all the entities involved in the
project.

1. Account - Standard Salesforce Component which will be used as the Parent of the End Customer ( Community User )
2. Contact - Standard Salesforce Component which will be used to create the Community User in Salesforce.
3. Order - Custom Salesforce Object to be used to store the order information. We can not use Standard Order Object as
it requires to have the contract in order to create an Order record.
4. Order Line Item - Custom Object which is a child of Order Object and will store the information about the Items to be
included in order.
5. Product - Standard Salesforce Object
6. Account Request - Custom Salesforce Object which will be used to request a new account for the community.
7. Address Book - Custom Salesforce Object to store the address information
8. Payments - Custom Salesforce Object to store the information about the payment of order records.
9. Coupons - Custom Objects to store the coupon and
10. Product Offers - Junction object between product and Coupons to indicate which product is eligible for the offer
11. Product Images - A Child object to the Product that will store the Images related to the Product.
12. Cart - The custom object which will store the information about the current cart of the user
13. Cart Items - The child of the cart object is associated with the Master-Detail relationship and will contain all the
information about the items which the user has added to the cart.
14. Categories - Custom objects hold the name of the category with which the product will be associated.
15. Product Categories - Custom salesforce object which will be the child of category and product to link product and
category.

THE BELOW OBJECTS ARE NOT INCLUDED IN THE FIRST PHASE OF THE PRODUCT LAUNCH

1. Wishlist - The custom object to store the wishlist created by the user
2. Wishlist Items - The child of the Wishlist object which will contain the information about the product added to the wish
list
3. Related Products
4. Product Ratings

1.1 PRODUCT IMAGES CUSTOM FIELDS


Sr. No Field Label Field API DataType Parent Object Options HelpText Length Note

1 Product Product c Lookup Product NA The related pr NA NA


oduct

The URL for


2 URL URL c Url NA NA the image Na NA

The type of
URL, Static image which
3 Image Type Type c PickList NA Resource, will determine Na NA
None what to display

Required if
Static
Static
4 Resource Resource c Text NA NA Resource is Na Na
Selected in
Image Type
Contains the
fully Qualified
Path of the
ResourceURL
5 Resource URL Text NA NA image to be NA NA
c shown on the
product detail
page

If Selected this
image will be
6 Hero Image HeroImage c CheckBox NA NA displayed on NA NA
the Product List
Page
1.2 PAYMENT CUSTOM FIELDS

Sr. No Field Label Field API DataType Parent Object Options HelpText Length Note

The related
customer who
1 Customer Customer C Lookup Contact NA
is making the
payment

The related order


for which the
2 Order Order c M-D Order c NA
payment is being
created

Created, Failed,
Success, Hold,
3 Status Status C Picklist NA Review,
Declined

The Total
4 Amount Amount c Currency(10,0) NA TNA amount of the 10
payment

5 Transaction The date of the


Date c Date NA NA
Date transaction ID

The Unique Id
TransactionId_
6 Transaction Id text NA NA of the 255
_c transaction Id

1.3 ACCOUNT REQUEST CUSTOM FIELD


Sr. No Field Label Field API DataType Options HelpText Parent Object Length Note

The Name of
1 Name Name Text the Account NA 80 NA

Open, In
Process, The status of
2 Status Statuc c Picklist Approved, the Account NA NA
Declined, Hold

Phone of the
3 Phone Phone c Phone NA Account NA NA
Owner
The Email for
4 Email Email C Email NA the customer

BillingStreet Address of the


5 Billing Street Text NA 255
c Customer

6 Billing City BillingCity Text 80

7 Billing State BillingState c Text 40

Billing Postal BillingPostalC


8 Code ode C Text 6
https://datahub
All available .io/core/countr
9 Billing Country BillingCountry PickList
countries y-list

ShippingStreet
10 Shipping Address of the
Street c Customer

ShippingCity_
11 Shipping City
_
ShippingState
12 Shipping State c
Shipping ShippingPosta
13 Postal Code lCode C
Shipping ShippingCount All available
14 Country ry c PickList countries
Description
15 Description C TextArex Long NA 500

The date of
16 Date of Birth DOB c Date NA birth of the NA NA NA
customer
The First
Primary
Name of the
17 Contact First FirstName c Text NA NA 80
Primary
Name
Contact
The Last
Primary Name of the
18 Contact Last LastName C Text NA Primary NA 80 NA
Name Contact
The email of
PrimaryEmail_
19 Primary Email NA the promary NA NA
Contact Email _c Contact
The title of the
20 Primary PrimaryTitle primary
Text Na NA 255 NA
Contact Title c Contact

The phone no
21 Primary Contact PrimaryPhone Phone NA of the primary NA NA NA
Phone Contact
1.4 COUPONS CUSTOM FIELDS
Sr. No Field Label Field API DataType Options Help Text Parent Object Length Note
Flat, The type of
1 Type Type c PickList Percentage discount NA NA
The total no of
discount
2 Total Quantity Quantity c Number(10,0) NA NA 10
coupons
available
Total no of
discount
3 Remaining RemainingQu Number(10,0) NA NA 10
Quantity antity c coupons availble

Indicates when
4 Expiry Date ExpiryDate c Date NA the coupon will NA NA
be expired

Formula : Indicates if the


5 Expired Expired c ExpiryDate < NA coupon is
Today expired or not
Flat_Discount_ Required if
6 Flat Discount _C Currency(10,2) type is Flat
Required if
7 % Discount Discount c Percentage(3) type if
Percentage

1.5 ADDRESS BOOK CUSTOM FIELDS

Sr.N Field label Field API DataType HelpText Options Length Note
Street of the
1 Street Steet C Text address NA 255 NA

2 City City c Text The customer 80


City

3 State c State c Text Customer Stat 10


mount https://datahub
All available .io/core/countr
4 Country Country c Picklist
countries y-list
PostalCode The Area
5 Postal Code c Number Postal Code 6

The Landmark
6 Land Mark LandMark c Text for Location 255
detetection

The parent
customer who
7 Customer User c Lookup (User) is creating the NA NA NA
address
1.6 ORDER

SR.
Field Label Field API DataType Help Text Options Length
N

Parent Account
1 Account Name AccountName c Lookup to Account related to NA
customer

The customer
record under
2 Customer Customer c Lookup to Contact which order is NA
created

Open, In
Process,
Dispatched,
Shipped, Out for
Status of the Delivery,
3 Status Status c PickList
Order Record Delivered,
Closed, Return
Requested,
Returned,
Cancelled

Shipping
4 Shipping Address ShippingAddress c TextArea Long Address of the 500
Order

Billing Address
5 Billing Address BillingAddress c TextAres Long 500
of the Order

The order
6 Total Items TotalItems c Rollup: SUM of All Order Item Quantity Quantity

7 Total Total c Rollup: SUM of All Order Item Total Order Amount

Status of the
8 Payment Status PaymentStatus c PAID, COD, Partially Paid, EMI Payment for
the order
The amount
which has
9 Paid Amount AmountPaid c Rollup: SUM of All Payment Record Amount been paid for
order record.

The Unique
10 Order Number Name ( Standard Name Field) Auto Number: Format : (O-000000) Identifer for the
order record

11 Order Date OrderDate c DateTime Order date

The date which


the order has
12 Delivered Date DeliverDate C Date been delivered

The expected
13 Expected Delivery Date ExpectedDate c Date delivery date
of the order
COD, Net
Banking, CC,
14 Payment Method PaymentMethod c Picklist
Debit Card,
EMI, Wallet
1.7 ORDER LINE ITEM

Field Field API


Sr. No DataType Parent Object Help text length
Label Name
1 Order Order c Master-Detail Order The related order NA
The item to be included &
This will be made
2 Product Product c Lookup Product required from the Validation NA
Rule
Quantity c( The total no of items to be
3 Quantity Required) Number(6,2) NA included in the order 8

Formula Currency ( 16, 2 ) (


4 Total Total c Quantity * Amount ) NA The total amount for the item 8

5 List Price ListPrice c Currency(6,2) NA The List price of the item 9


(Read Only)
Amount c
6 Amount (Read Only ) Currency(6,2) NA The actual price of the item. 9

1.8 PRODUCT - CUSTOM FIELDS


Sr. No Field Label Field API DataType Help Text Length

TotalQuantity_
1 Inventory Number(8) The total quantity for the product 10
_c ( required )

RemainingQu
Remaining
2 antity c ( Number(8)
Quantity
required )
If true the product is available for the OFF
3 Offer Available Discount c Checkbox NA
SALE

Rollup Note:- Do not Rollup ?


Summary ( include this
4 Rating Rating c AVG: Rating of The avg rating of the product NA field as part of
ALL Product initial
Rating ) development

Rollup Note:- Do not Rollup.?


Summary ( include this
5 Total Rating TotalRating c SUM: Rating of All Ratings related to the product NA field as part of
ALL Product initial
Rating ) development

1.9 PRODUCT OFFERS CUSTOM FIELDS

Sr. No Field Label Field API DataType Parent Object Options Length Note HelpText

This will be This will be


made required made required
1 Product Product C Lookup Product NA NA from the from the
Validation Validation
Rule Rule

2 Offer Discount c M-D Coupon c NA NA NA


3 Sequence Sequence c Number(3,0) NA NA NA NA
4Active Active__c Checkbox

1.10 CATEGORY CUSTOM FIELDS

Sr. No Field Label Field API DataType Parent Object Options Length Note HelpText
This is the
standard field
1 Name Name Text NA NA 80
provided by
salesforce
The sequence
for the
2 Sequence Sequence c Number(4,0) NA NA 4
category to be
displayed
The parent
Parent ParentCategor y category if this
3 Category c Lookup Category c Na NA NA is the child
category
1.11 PRODUCT CATEGORY CUSTOM FIELDS

Sr. No Field Label Field API DataType Parent Object Options Length Note HelpText

This will be
made required The product for
1 Product Product c Lookup Product NA NA from the the category
Validation Rule

The category
2 Category Category c Master-Detail Category c NA NA NA
for the product

The sequence
for the
3 Sequence Sequence c Number(3,0) NA NA 3 NA category to be
displayed

1.12 CART CUSTOM FIELDS


Sr. No Field Label Field API DataType Parent Object Options Length Note HelpText
The auto-
generated Id
1 Cart # Name AutoNumber NA NA 80 Standard
Name Field for the cart
record

The actual Id
for the cart will
be the unique
Id for all the
2 Cart Id CartId c Text NA NA 255 carts. Note
while creating
the cart
generates a
random string

The status of
the cart. By
default, all
Open, Closed, carts will be
3 Status Status c Picklist NA Ordered NA NA open and only
one cart can
be open for a
customer at a
time

Rollup
Summary: The total
4 Total Quantity Quantity c SUM of All NA NA 3 NA Quantity
Quantity for the related to this
related cart cart record
Item record
Rollup
Summary:
SUM of All
5 Total Amount Amount c Total Amount
for the related
cart Item
record

This will be The customer


made required record who
6 Customer Customer c Lookup Contact NA NA from the have created
Validation the cart
Rule

The value for The account of


this field be the customer
7 Account Account C Account NA NA auto populated who has
from the created the
automation cart record
tool

8
9
10
1.13 CART ITEM CUSTOM FIELDS
Sr. No Field Label Field API DataType Parent Object Options Length Note HelpText
The auto-
Standard generated Id
1 Item # Name AutoNumber NA NA 80 Name Field for the cart
item record
The parent cart
under which
2 Cart Id Cart c Master-Detail Cart c NA NA NA the item is
added

This will be The product


made required record which is
3 Product Product c Lookup Product c NA NA from the added as item
Validation under the cart
Rule record
The total no of
Quantity c( items to be
4 Quantity Number(4,0) NA NA 4 NA
Required ) included into
the cart
The Amount
5 Amount Amount c ( for the single
Currency(4,0) NA NA 4 NA
Required ) item record
Formula: Total amount
TotalAmount Currency(Qua for the item
6 Total Amount NA NA NA NA
c ntity* Amount) record

This field will The original


be auto amount of the
7 List Price ListPrice c Currency(4,0) NA NA 4 populated from product before
the Automation any discount
tool
The Selling
8 Unit Price UnitPrice c ( Price of the
Currency(4,0) NA NA 4 NA
Required ) Product
9
10

Module 2 - Develop the Component to be used inside Salesforce

Once you have completed the Data Model for the project, now you need to start the development of the component inside
salesforce.

2.1 - OBJECT OWD SETUP- Sharing Settings

Sr. No Object Name OWD


1 Account Private
2 Contact Controlled By Parent
3 Order Private
4 Order line Controlled By Parent
5 Product Public Read Only
6 Account Request Public Read Only
7 Address Book Private
8 Payment Private
9 Coupons Public Read Only
10 Product Offers Controlled By Parent
11 Product Images Controlled By Parent
12 Categories Public Read Only
13 Product Categories Controlled By Parent
14 Cart Private
15 Cart Item Controlled By Parent
2.2 - FUNCTIONALITY RELATED TO ACCOUNT REQUEST OBJECT

Check the below points and apply your knowledge to achieve the below functionality.

1. Once Account record is created into the System a new Email should be sent to the customer stating that the Account
is under review and we will get back to you within 72 hours.
2. In Addition to the above point, an approval process should also be triggered automatically and this approval process will
automatically be executed and send the email to VP
3. Once VP approved the account then set the status as approved on the Account Request record Create an Account
record with the same information and also create a contact record under the same Account record.
4. Once the Account record is created then Send an Email to the Customer stating that Your account has been approved
and you will be getting the Credentials in a Separate Email within 24 Hours.
5. If VP Rejects the account a new email should be sent to the customer stating that we can not process the account this
time.
6. In case if VP approves the account after the Account and Contact record has been created. Now, create a customer
community user and then send the email to the customer with Login Details.

2.3 - VALIDATION RULE

1. Validation Rule on Coupons Object where Expiry Date should always be greater than today while creating the record.
2. Resource URL and static resource must be populated if the Image Type is Selected as Static Resource on Product
Image Record.
3. Static Resource, Resource URL, and URL must be left blank if the Image Type is selected as None on the product
Image record.
4. While Creating/updating the Order Record Customer Must be required to select
5. While Creating/updating the Order Line Item it is required to have the Product Record selected
6. While Creating/updating the Order Line Item the Quality field is required
7. While Creating/updating the Address Book record Check if the User is blank then Throw Error
8. While Creating/updating the Cart Item the Product & Quantity Field Must be Required
9. While Creating/updating the Product Offer, Check if the Product Field is Blank then show the Error.
10. While Creating/updating the Product Category, Check if the Product Field is Blank then show the Error.

2.4 FUNCTIONALITY RELATED TO ORDER/CART LINE ITEM

1. When an Order Line Item is created then It should automatically populate the ListPrice__c price value with the value
which is there in the related product List price value. Hint: - Please use any automation tool like Process Builder or
Flow ( Flow is recommended )
2. When a Cart Item is created then It should automatically populate the ListPrice__c price value with the value which is
there in the related product List price value. Hint: - Please use any automation tool like Process Builder or Flow ( Flow
is recommended )
2.5 - FUNCTIONALITY RELATED TO ORDER

1. Send an email alert to the customer once the order is created in the system. The email must contain the information
about
a. Order No
b. Order Amount
c. Discount if Any
d. Shipping Address
e. Estimated Delivery Date
f. Link to Order from where they can see more details
2. Sent an email to the customer once the business has processed the order with the same details as Step #1 and also
include Payment status in this email.
3. Sent an email to the customer once the business has shipped the order with the same details as Step #1
4. Sent an email to the customer once the order is out for delivery with the same details as Step #1
5. Sent an email to the customer once the order is delivered with a Survey link.
6. Sent an email to the customer if the order is canceled with the proper reason.
7. Sent the payment reminder to the customer if the order has been created and the customer has not selected COD as
the Payment Method. This email should include
a. Order No
b. Order Amount
c. Link To Order ( This link should take the user to the community site which you will implement later in the Project )
8. Once the Order is created into the System then All the related Product Remaining Quantities must be updated so that
the customer can see updated information on product detail and the product list page.
9. Once the Order is Cancelled then also the related product's Remaining Quantity must be updated

2.6 Functionality Related to Product Offers



Whenever any new Offer is created in the system for Any Product. Send the Email Alert to All the Customers (
Community Users ) with the Offer and Product Details. Include Product Images in the Email and a Button named
“Avail Offer”. If the user clicks on the Button then the User should be redirected to the Product Detail page on your
Community site ( The redirect part will be implemented later everything else should be there )

Hint: - Need to Develop an Apex Trigger Here and Develop the Custom Email Template

Module 3 - Implement Salesforce Community ( Experience Cloud )

1. Enable Lighting Experience


2. Create a Lightning Experience and Name it “E-Zone”
3. Now, Clone an Existing Profile “Customer Community Plus Login User” and Name it “E-Zone Profile”
4. Give access to all the objects to this profile that are mentioned in the project and for OWD check the above table.
5. Provide field-level access for all the objects
6. Develop Product Categories Component
a. This component will be responsible to display all the product categories.
b. The Parent Category should be displayed and once clicking on the parent category it should show all the related
categories if any and also sort the product list page based on the selected category.
c. Clicking on any category should display the product in a related category only
7. Develop Home Page
a. This is the landing page where the customer will be logged in for the first time
b. This page will contain the below information
i. Cart Details is any open cart
ii. Details of Any open Order
1. Order No
2. Order Amount
3. Shipping Address
4. Payment Status
iii. Recent Orders in tabular form
iv. Link to Product List Page
8. Develop a Product List Page
a. This is the product list page where all the products will be displayed and for all the products the hero image
should be displayed. Check the below list of what all need to have for every product
i. Each row will display max 3 products
ii. For Each product's display
1. Hero Image
2. Name
3. Price
4. Short Description
5. In Stock or Out of Stock
6. Quantity along with -+ button
7. Add To Cart Button
iii. When clicking on any product image or name it should take to product details where it will show
1. Image carousel with all the images related to that product
2. Name
3. Price
4. In Stock or Out of Stock
5. Description
6. Quantity along with -+ button
7. Add To Cart Button
8. Related products
9. Develop Add To Cart Functionality
a. When clicking on Add To Cart button, first it will check if the product is available ( In Stock ), and if yes then it will
Add the Product to the Cart. If Necessary Create a Custom Object to store the Cart and Cart Details.
b. Show a Success toast if added
c. Show Error toast if any error happens
d. Show error toast if the product is out of stock
10. Develop Product Detail Page - When clicking on Any product image or name it should take to product details where it
will show
a. Image carousel with all the images related to that product
b. Name
c. Price
d. In Stock or Out of Stock
e. Description
f. Quantity along with -+ button
g. Add To Cart Button
h. Related products
11. Develop Cart Details Page - This component will display all the details about the cart. All the items in the cart will be
displayed in a row with the below information
a. Price
b. Quantity
c. Short Description
d. Quantity increase decrease - + button
e. delete button
f. In the end, it will display the total of the cart items
g. It will also show a link to apply the coupon and if users click on Apply Coupon it should open a text field where
users can enter the coupon no. For, the next steps check the next point
12. Develop Apply Coupon Component: -
a. It should check if the coupon entered by the user is valid or not.
b. If a coupon is valid check the type of Coupon
c. Depending upon the type apply the coupon on the appropriate product and show the message next to the product
d. Also, show the updated amount of the cart with a message that the coupon has been applied.
e. One customer can only apply one coupon in a cart.
13. Develop Address Component - This component will display all the addresses related to users if any otherwise will ask
for the address information from the user both shipping and billing addresses.
a. The Order should be placed at the selected shipping and billing address
14. Develop Payment Page
a. By default, All the Orders should be COD for now
15. Develop Order Detail Page - This is the final destination of the Project which will show all the details of the order
including
a. Order No
b. Estimated Delivery Date
c. Total Amount
d. Tax if Any?
e. Shipping and Billing Address side by side
f. All the items are in Tabular form
g. Cancel Order & Re-Order buttons on both the bottom and top
16. Develop Cancel order Page - When the user clicks on the Cancel Order button and then navigates to this page
a. Show a message that all the items will be canceled and the show continue and the cancel button
b. If users click on cancel then go to the order details page
c. If the user clicks on Continue then verify if the Order is In process or below stage then Cancel otherwise show the
error message that the Order can not be canceled contact to E-Zone.

Module 4 - Integration Payment Gateway

Before we Integrate the Payment Gateway we need some custom objects

1. Payment Authorization
2. Process Exception
3. Gateway Log
4. Refund
5. Invoice

Payment Authorization Custom Fields

In this module, we will integrate the payment gateway and then we will modify the Payment Component to use PayPal or Credit
Card as a Payment Method. You can also use Stripe/Paytm/PayPal depending on your location.

1. Account Setup
a. For PayPal use - https://www.paypal.com/in/welcome/signup/#/mobile_conf link to Signup
b. For Stripe Use - https://dashboard.stripe.com/register
c. For Paytm use - https://developer.paytm.com/docs/v1/payment-gateway
2. Read the Payment Gateway API for Authentication and then Make the request from Postman, SOAPUI, Advanced Rest
Client, or any other Webservice testing Tool
3. Create a Metadata to Store the Client Id, Client Secret
4. Check the possibility of using Named Credentials
5. Ready to Start? Check Next Steps

4.1 MODIFY PAYMENT COMPONENT

1. Now, as you are ready with the payment gateway it’s time to modify the Payment Page Component
2. The payment page shows all available payment options like
a. Credit Card
b. Stripe
c. PayPal
d. Paytm
e. Cash On Delivery
3. Keep the Credit Card as Selected and ask for the Information about the Card. Note: - Do not save any card details in the
System ( Salesforce)
4. Whatever option is selected by the user, ask for the appropriate information
5. Now if the user clicks on proceed to payment then validate all the details by sending the details to API, If payment is a
success then navigate to Order Detail Page otherwise show an error message. “Something went wrong Please try after
some time”

Module 5 - Develop My Profile Component

In this phase, we will focus on the Profile component of the User. So when the user clicks on the My Profile link it should open
our custom page and this page will have the below information.

1. User Details - This will be the selected component by default and will display the basic user information like
a. Name
b. Email
c. Phone
d. Address
2. My Account - If the user clicks on My Account then a New Component should be displayed where it will display all the
details of the account related to that user in read-only mode.
3. My Contact - If the user clicks on My Contact then a New Component should be displayed where it will display all the
details of the contact related to that user in read-only mode.
4. My Orders - When the user clicks on My Orders, then shows all the orders to the users and there must be pagination
implemented. This component should have a filter to filter the orders for the selected range of dates. Next to each order,
there should be 2 buttons
a. View Details which will take to order detail component
b. Reorder: - If the user clicks on the order then a new cart should be generated with all the items under that order
and take the user to the Cart Details Page
c. For Further information check Phase 6.
5. My Address - When the User clicks on My Address then it should Open all the addresses in the grid format. So two
addresses should be displayed in 1 row with Edit, Delete HyperLink.
a. And there should be a button called add New Address which will add a new address to the system.
b. This New Address is a new Component where users need to enter the details of the address.
6. My Carts :
a. When the user clicks on My carts then it should show all the carts related to users.
b. This will be a new Component that will be built on top of LWC

Module 6 - Develop Order List Component

In this module, you will need to develop the Order List component where you need to develop the order list component to
display All the orders related to the customer.

1. Orders must be displayed in tabular form


2. There must be pagination and each page should display 10 records
3. There should be filters to display the order record for a selected date range.

Module 7 - Integrate with External System

In this module, you will be sending the data to the External System to store the order data and from that database, our
business will do the order processing.
As a developer, we only need to raise a platform event and the rest will be taken care of by the external team

7.1 SETUP ORDER EVENT PLATFORM EVENT

1. Create a Platform Event and Name it “Order Event” with API Name OrderEvent__e
2. Create All required fields under the Platform Event.
3. This platform event should carry the below information from Salesforce
a. Order No
b. AccountId
c. Account Name
d. Contact Id
e. Contact Name
f. Contact Email
g. Contact Phone
h. Total Amount
i. Total Quantity
j. Shipping Address
k. Billing Address
l. Payment Status
m. Order Status
4. Once the platform event is ready. It’s time to publish the platform Event.
5. Once an order is created then send all the information using this platform event. Hint: - You need to create the Platform
Event.

7.2 SETUP ORDER UPDATE PLATFORM EVENT

1. Create a Platform Event and Name it “Order Update”


2. Create the required fields to send the data which are given below
a. Order #
b. Order Status
c. Order Amount

Module 8 - Implement Return Order Functionality

In this module, We will implement the Return Order functionality. And it will have the below functionality

1. The user must be able to return the order


2. The Return button should only display next to the order if the order is in the delivered state
3. If the User clicks on Return next to any order then it will ask for a reason. If the user has provided a valid reason then
cancel the order and Change the State to Return Requested.
4. The user should get an email that we have got the request to return the order and it will share the Order No along with
the expected pickup date.
5. Once the order is returned then there should be automation behind the scene which will take all the Line Item's quantity
and update the Related product Remaining Quantity to change the Inventory.

Module 9 - Develop Account Request Component

In this module, you will be implementing the Account Request LWC Component. This component will display the input
parameters for all the information and once the user clicks on submit button then a new record for Account Request must be
created and the other functionality should take place behind the scene.

This component will include all the fields which you have created into the object and all fields must be required to be input from
the User.
Module 10 - Club Everything into a Single Digital Experience
10.1 MODIFY THE DIGITAL EXPERIENCE

1. Add Navigations to the Digital Experience


a. Home - The custom component that you have developed
b. Shop - Add Product List page Here
c. Offers - This is a dummy page where there will be an image saying Coming Soon
d. About - Add some sample text for about
i. Contact Us - Should open a new component that will ask for basic information and creates a case
ii. Request Account - Uses the Account Request component to create an Account Request component
e. FAQ - Add some FAQ here later it will be replaced with the Knowledge Article

10.2 - MODIFY USER PROFILE AND USER SETTING PAGE

1. Open User Profile Page and Add My Profile Component There that you have developed
2. Open the User Setting page and add the My Profile Component There that you have developed

Module 11 - Setup Email to Case and Web to Case

1. Setup email to case so that customers can directly send the email for their issues or for any inquiry
2. Set up the web to case so that users can create the case from the website directly

Module 12 - Enable Knowledge Articles and Create some knowledge Articles

Watch this video - https://www.youtube.com/watch?v=eCbRUDGO79w

Module 13 - Setup Omnichannel and add the omnichannel into the digital
experience

13.1 Check out this video on how to enable omnichannel - https://www.youtube.com/watch?v=MS58u13uAQI&t=35s4


13.2 Add the Omnichannel into Digital Experience so that customers can chat with Sales/Service Reps

Module 14 - Add the Knowledge article to a digital experience

Modify the FAQ tab and show all your knowledge articles there and these articles must be public. Check out the below video
for the same
https://www.youtube.com/watch?v=oKRFsKQCp8c&list=PLaGX-30v1lh0yjm8UbB-4smaykJzCsH2y&index=6
Module 15 - Go Live & Celebration

Phase 2 -
Module 1 - Create necessary objects

1. Wishlist - The custom object to store the wishlist created by the user
2. Wishlist Items - The child of the Wishlist object which will contain the information about the product added to the wish
list
3. Related Products - The custom object which will contain information about the similar related products
4. Product Ratings - The custom object contains information about the product rating.

1.1 CREATE FIELDS FOR WISHLIST OBJECT

Sr. No Field Label Field API DataType Parent Object Options HelpText Length Note

The User who


1 User User c Lookup User NA is creating the NA NA
Wishlist

This is
The name of
2 Name Name Text NA NA 80 standard
the WishList
Name Field

If checked then
the wishlist will
3 Public Public c Checkbox NA NA NA NA
be publically
visible
1.2 CREATE FIELDS FOR WISHLIST ITEMS OBJECT
Sr. No Field Label Field API DataType Parent Object Options HelpText Length Note

The User who


1 User User c Lookup User NA is creating the NA NA
Wishlist

AutoNumber : {ITEM- This is


{0000} The name of
2 Name Name NA NA 80 standard
the WishList Name Field
Starting Number: 1

The wishlist
under which
3 WishList WishList c Master-Details WishList c NA NA NA
the items is
created

The product
which is being
4 Product Product c Lookup Product NA NA NA
added as
Wishlist Item

1.3 CREATE FIELDS FOR RELATED PRODUCT OBJECTS

Sr. No Field Label Field API DataType Parent Object Options HelpText Length Note

The Parent
1 Product Product c Lookup Product NA NA NA
product

If checked, the
product will be
2 Show on Page Visible c Checkbox NA NA visible on the
Product Detail
Page

1.4 CREATE FIELDS FOR PRODUCT RATING

Sr. No Field Label Field API DataType Parent Object Options HelpText Length Note

The Parent
1 Product Product c Lookup Product NA NA NA
product

The Rating
Comment
2 Comment Comment c Text Area Rich NA NA NA NA
entered by the
user

The * Rating
Rating c(Re
3 Rating Number(1) NA NA provided by NA NA
quired)
the customer

The customer
4 User User C Lookup User NA who has rated NA NA
the Product

Module 2 - Validation Rule Setup

2.1 While creating or updating the Wishlist Object User must be selected.
2.2 While Creating the Wishlist Item the User & Product must be selected.
2.3 While Creating the Related Product it is required to select the Product
2.4 While Creating the Product Rating, all the fields are required

Module 2 - Develop Related Product Component

Develop a Lighting Web Component that will sit inside the Product Detail Page and will display the related products if there are
any. If there is no related product then it will show “No Related Products”

In the related products tab, it should be showing the Short Description of the Product and The product Thumbnail along with
the List Price. It should also be having the ability to add the product to the cart itself. Here is the tab mockup for the Product detail page
Module 3 - Develop Rating Component

Develop a New Lightning Web Component which will display the Product Raring under the Product Detail Page.
This component should display a rating like below.

Module 4 - Modify the Product List Component

Modify the Product List Component to display the Average rating next to each product. And rating should be displayed in the
form of *. You might need to develop the rating component separately.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy