Skip to content

Commit

Permalink
Doc update, unzip, markdown format (#661)
Browse files Browse the repository at this point in the history
Co-authored-by: Mustapha Unubi Momoh <[email protected]>
  • Loading branch information
BastLeblanc and MustaphaU authored Oct 14, 2024
1 parent d1e8a1c commit 4a6679f
Show file tree
Hide file tree
Showing 17 changed files with 43 additions and 201 deletions.
14 changes: 4 additions & 10 deletions docs/Deployment/Creating-account.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,31 @@
# Creating a Retail Demo Store account

1 - Creating the Account > [2 - Personalization](2-Personalization.md)

> Before getting started, we advise you to use a Private Window (Firefox) or Incognito Window (Chrome) to make sure you don't mix different demo profiles in the same browser session
Since several of the features of the Retail Demo Store require a user/customer account to demonstrate effectively, this section will describe the process of creating a user account using the Retail Demo Store’s web user interface. This process also provides a good demonstration of how Amazon Cognito is used to implement user account and authentication.

Click the “Sign In” button in the right side of the top navigation bar. This will take you to the Sign In page. Click the “Create account” link at the bottom of the Sign In form as shown below. These forms are provided by Cognito.

![image.png](../workshop/images/retaildemostore-create-acct-link.png)
![image.png](../assets/retaildemostore-create-acct-link.png)

Figure 3. Create Account Link.

Complete the “Sign Up Account” form by entering appropriate values in each field. Note that your password must meet the complexity requirements configured in Amazon Cognito (upper- and lower-cased characters, numbers, and special characters). In addition, be sure to enter a valid email address since Cognito will send you a confirmation code via email once you submit the form. Otherwise, the only way to confirm your account is manually in the Cognito User Pool page in the AWS console. If you need to create multiple accounts to demonstrate behavior across users, a useful tip is to append a different mailbox name (“+” notation) to the username portion of your email address for each user account. For example, [email protected]. You will still receive emails addressed using this format in your inbox.

![image.png](../workshop/images/retaildemostore-create-acct.png)
![image.png](../assets/retaildemostore-create-acct.png)

Figure 4. Create Account page.

Within a few seconds after pressing the “Create Account” button on the “Sign Up Account” form you should receive an email on the provided email address. The email will contain a 6-digit confirmation code. Enter this code on the “Confirm Sign Up” form and press the “Confirm” button. If you don’t receive a confirmation code, you can have it resent or you can manually confirm your user account in the Amazon Cognito User Pool page in the AWS console in the AWS account where the Retail Demo Store instance has been deployed.

![image.png](../workshop/images/retaildemostore-confirm.png)
![image.png](../assets/retaildemostore-confirm.png)

Figure 5. Confirm New Account.

Once your user account has been confirmed, you can sign in to your account with your username and password.

![image.png](../workshop/images/retaildemostore-signin.png)
![image.png](../assets/retaildemostore-signin.png)

Figure 6. Sign In to Account.

You can tell if you’re signed in if the “Sign In” button in the top navigation is replaced by your username.

## Next Steps

- [Personalized Experience](2-Personalization.md)
13 changes: 8 additions & 5 deletions docs/Deployment/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ cd RetailDemoStore/
git clone https://github.com/aws-samples/retail-demo-store
```

!!! Note
!!! note
If you plan to customize the demo, we recommend using your fork instead of the aws-samples one (see [fork this repo](#optional-fork-this-repo))


Expand All @@ -59,7 +59,7 @@ sudo apt install npm

```
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip
unzip awscliv2.zip
sudo ./aws/install
aws configure
```
Expand All @@ -79,10 +79,13 @@ Save your access token in a secure location, you will use it the CloudFormation

## Step 2: Create a S3 Staging Bucket

Create a dedicated S3 bucket specifically for staging/deployment, and ensure that [**versioning is enabled**](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) for this bucket.
Create a dedicated S3 bucket specifically for staging/deployment.

> [!IMPORTANT]
> Your staging bucket must be in the **region** with in which you plan to deploy the Retail Demo Store.
!!! warning
Ensure that [**versioning is enabled**](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) for this bucket.

!!! warning
Your staging bucket must be in the **region** with in which you plan to deploy the Retail Demo Store.

### Enabling Event Notifications

Expand Down
3 changes: 0 additions & 3 deletions docs/Deployment/services/aws-lambda.md

This file was deleted.

172 changes: 22 additions & 150 deletions docs/Technical Guides/Geolocation/LocationServices.md
Original file line number Diff line number Diff line change
@@ -1,163 +1,35 @@
# Retail Geofencing and Location-aware Personalization with Amazon Location Services


# Retail Geofencing and Location-aware Personalization
Amazon Location Services is an Amazon provision of maps, location indexing, geofencing, user tracking, and routing. Geofencing can be used to set off chains of events just when they need to be set off - when your customer is in the right place, at the right time. In this demo we use it together with the ecommerce platform and Amazon Pinpoint to engage customers when they approach physical stores.

Customers are inspired to opt in to share their location by being provided with personalized offers. These offers can be related to customer preferences, local stock levels, and more. In this demo we use Amazon Personalize to select an offer to show to a consumer that can be redeemed in-store. The consumer has the extra convenience and we have enaged with them in a targeted fashion and, moreover, attracted them into our bricks and mortar store where the experience will be, naturally, more personal than online.

There is also an in-store interface that shows a sample view for store staff showing orders that are about to be collected, and transactional messaging for user and store staff around pickup that is triggered by the user approaching the store for pickup.


is an Amazon provision of maps, location indexing, geofencing, user tracking, and routing.
Geofencing can be used to
set off chains of events just when they need to be set off
- when your customer is in the right place, at the right time.
In this demo we use it together with the ecommerce platform and Amazon Pinpoint
to engage customers when they approach physical stores.
## Using the Location Services Demo

To use the Amazon Location functionality, Location Services must be enabled in your region. First, ensure you are deploying Retail Demo Store in a region in which Location is enabled. Next, enable "Deploy Location Services resources" and "Deploy personalized offers and pickup notices using Location Services geofencing" when deploying or updating the solution from CloudFormation. A Location geofence will be set up for you.

From any Retail Demo Store "Shop" menu You can access the Location "In-Store View" where you can see orders made to be collected from in-store. From there you can navigate to "Location Geofence" where you can see the Location Services-provided map and simulated user - from here you can initiate simulations of users travelling close to the default configured store either during a scenario where Location Services can be used to enable a quick collection of bought products and related messaging using Pinpoint Transactional Messaging to email, SMS or web ("collection" scenario), or where the user might be inspired to enter the store to make a new purhcase through the triggering of personalised messages sent using Pinpoint Campaigns to email, SMS and web, either containing offers chosen with Amazon Personalize or containing notices about unfinished shopping carts ("purchase" scenario).

Customers are inspired to opt in to share their location by being
provided with personalized offers. These offers can be related to
customer preferences, local stock levels, and more. In this demo
we use Amazon Personalize to select an offer to show to a consumer
that can be redeemed in-store. The consumer has the extra convenience
and we have enaged with them in a targeted fashion and, moreover,
attracted them into our bricks and mortar store where the experience
will be, naturally, more personal than online.
### Enable email sending.

If you are in the email "sandbox" for Pinpoint, then all recipient emails must be verified according to the below process, to ensure that the emails will be sent.

There is also an in-store interface that shows a sample view for store
staff showing orders that are about to be collected, and transactional messaging
for user and store staff around pickup that is triggered by the user approaching
the store for pickup.
* After deploying the demo, navigate to your Pinpoint application called "retaildemostore" in the UI Console (https://console.aws.amazon.com/pinpoint/home making sure that the region is the same one in which you deployed your demo).
* Click on "Settings" > "Email" in the navigation menu.
* Under the "Identities" tab, click "Edit".
* Ensure the email channel for the project is set to "Enabled" (this will be set after Amazon Personalize campaigns are finished deploying, but you may set it beforehand).
* For the email that you used when you deployed the solution under "Reply-To email address", ensure that the email address is verified. Select this as your "Default sender address".
* For every email to which you plan to send emails, ensure that the email address is verified.
* Save the changes.

Note that you can manage your email and SMS limits within the "Settings" > "Email" and "Settings" > "SMS and voice" menus available under your Pinpoint project. Also note that there are additional limits imposed when your account is in the Pinpoint "sandbox".
Enable SMS sending.

Using the Location Services Demo



To use the Amazon Location functionality, Location Services must be enabled in your region.
First, ensure you are deploying Retail Demo Store in a region in which
Location is enabled. Next, enable

and "Deploy personalized offers and
pickup notices using Location Services geofencing"
when deploying or updating the solution from CloudFormation.
A Location geofence will be set up for you.


From any Retail Demo Store "Shop" menu You can access the Location "In-Store View"
where you can see orders made to be collected from in-store. From there you can navigate to
"Location Geofence" where you can see the Location Services-provided map and simulated user
- from here you can initiate
simulations of users travelling close to the default configured store either during a scenario
where Location Services can be used to enable a quick collection of bought products
and related messaging using Pinpoint Transactional Messaging to email, SMS or web
("collection" scenario), or where the user might be inspired to enter the store to make a
new purhcase through the triggering of personalised messages sent using Pinpoint Campaigns
to email, SMS and web, either containing offers chosen with Amazon Personalize or containing
notices about unfinished shopping carts ("purchase" scenario).



If you are in the email "sandbox" for Pinpoint, then all recipient
emails must be verified according to the below process, to ensure
that the emails will be sent.


After deploying the demo, navigate to your Pinpoint application
called "retaildemostore" in the UI Console
(https://console.aws.amazon.com/pinpoint/home making sure that the region
is the same one in which you deployed your
demo).



Ensure the email channel for the project is set to "Enabled"
(this will be set after Amazon Personalize campaigns
are finished deploying, but you may set it beforehand).

For the email that you used when you deployed the solution
under "Reply-To email address", ensure that the email
address is verified. Select this as your "Default sender address".

For every email to which you plan to send emails,
ensure that the email address is verified.




Note that you can manage your email and SMS limits within the
"Settings" > "Email" and "Settings" > "SMS and voice"
menus available under your Pinpoint project.
Also note that there are additional limits imposed when your account is
in the Pinpoint "sandbox".



Ensure any phone number in the Pinpoint database
to which you intend to send promotional messages (the "purchase" journey
above - for the "collection" journey, the phone number will be recorded against the order)
has opted in to receive promotional messages. For more information on how to ensure this,
see the section in the

Pinpoint messaging workshop.
In brief, you need to (in the USA):


Subscribe to a long-code that supports SMS through the Pinpoint UI so that Pinpoint has a number
to send messages from (this is a requirement in the USA to send messages).

Enable 2-way messaging on that long-code and choose the SNS PinpointIncomingTextAlerts
topic that was deployed along with Retail Demo Store to send messages to, so that responses
to verification SMS messages can be processed to opt in users.

Enter your phone number from the UI to start the verification process and reply to the text
message sent to your phone to opt in.








import {mapState} from 'vuex';

import ArticleLayout from '../ArticleLayout.vue';
import ArticleFeature from '../ArticleFeature/ArticleFeature.vue';

export default {
name: 'LocationServices',
components: {ArticleLayout, ArticleFeature},
computed: {...mapState({isMobile: (state) => state.modal.isMobile})},
};



.digital-interactions {
margin-bottom: 9rem;
}

.logo-and-quote--mobile {
margin-bottom: 20px;
flex-direction: column;
}

.logo-and-quote--mobile .dominos {
width: auto;
max-width: 300px;
}

.cloudformation-text {
font-family: "Droid Sans Mono", "Courier New", monospace;
}

.subheading {
font-size: 70%;
font-weight: bold;
}

.feature-subheading {
font-size: 100%;
}

Ensure any phone number in the Pinpoint database to which you intend to send promotional messages (the "purchase" journey above - for the "collection" journey, the phone number will be recorded against the order) has opted in to receive promotional messages. For more information on how to ensure this, see the "Two-Way SMS with Pinpoint" section in the Pinpoint messaging workshop. In brief, you need to (in the USA):

* Subscribe to a long-code that supports SMS through the Pinpoint UI so that Pinpoint has a number to send messages from (this is a requirement in the USA to send messages).
* Enable 2-way messaging on that long-code and choose the SNS PinpointIncomingTextAlerts topic that was deployed along with Retail Demo Store to send messages to, so that responses to verification SMS messages can be processed to opt in users.
* Enter your phone number from the UI to start the verification process and reply to the text message sent to your phone to opt in.
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,9 @@ to your shopping cart. In the shopping cart page, click on the button that says
email”. This action will emulate a signed out event and will trigger the abandoned cart email sent by Amazon
Pinpoint. Next, check the email account provided during account creation. The Abandoned Shopping Cart email will be in your
inbox.


![img](../../assets/netflix.png)
Migrated 100% of email sending activities to Amazon SES
100M+ emails sent per day in 190n countries
Inbox placement rate > 99%
Reputation score 97/100

“Amazon SES helped us be elastic, we could pay as we went along, and we could stop worrying about optimizing
settings for each ISP.”
Devika Chawla
Director of Messaging and Platform Engineering. Netflix











Loading

0 comments on commit 4a6679f

Please sign in to comment.