Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add WAF to CloudFront and web services ELB #18

Open
james-jory opened this issue Apr 26, 2020 · 0 comments
Open

Add WAF to CloudFront and web services ELB #18

james-jory opened this issue Apr 26, 2020 · 0 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@james-jory
Copy link
Contributor

Add WAF to CloudFront (web-ui) and web service load balancers. Note that once #5 is complete, WAF should be added to APIGW instead.

@james-jory james-jory added good first issue Good for newcomers help wanted Extra attention is needed labels Apr 26, 2020
AkramDweikat referenced this issue in Daemon-Solutions/retail-demo-store Nov 20, 2020
Update: Bring master new commits to Daemn branch 

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn
james-jory added a commit that referenced this issue Dec 2, 2020
…ddition to the retail demo (#96)

* Signup changes (#86)

* Add optimizely container params (#82)

* added optimizely sdk key param to containers

* logging add

* pprint

* ssm:GetParameters to task exec role

* rename ssm policy for execution role

* removed debug logging

* resource_bucket_path in CopyImagesLambdaFunction (#84)

* Bump selfsigned version for node-forge vuln

* remove phone number field from signUp form

* Update the READMEs and instructions to reflect changes in signup

Co-authored-by: Igor Krtolica <1186878+manbearshark@users.noreply.github.com>
Co-authored-by: Bastien <bastil@amazon.co.uk>
Co-authored-by: James Jory <james@jamesjory.com>

* fix #87 by running npm audit fix

* AWS Interactive Video Service (IVS) Demo addition to the retail demo. Summary as follow:
* IVS: Addition of IVS container, IVS cloud formation.
* UI: Adding UI Tab and page for the streams, its products, recommendations and discounts.
* UI: Adding Reset Amazon Personalize button on the user profile.
* UI: Refactoring for the menu.
* Amazon Personalize: Addition of new campaign for discounts, update to the container service code.
* Amazon Personalize: Additional Jupyter notebook, remove dependancy on bucket to stage data,  instead generate it from script.
* Update to the readmes and documentations.
This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat <akram.dweikat@gmail.com>
Co-authored-by: Akram Dweikat  <akram.dweikat@dae.mn>
Co-authored-by: Damien Jade Duff <damien.duff@daemonsolutions.com>
Co-authored-by: daemon-joe <joe.major@dae.mn>

* add welcome page

* more semantic markup

* service badges

* New product detail design + ability to change quantity on product page

* Remove extra console log

* Adjust spacing

* fix hover color on quantity background

* Add text alerts UI

* Use margin over gap property

* Use margin over gap property

* fix repeated cart update bug

* Avoid v-bind if unnecessary

* New product detail design + ability to change quantity on product page

* Remove extra console log

* Adjust spacing

* fix hover color on quantity background

* Use margin over gap property

* fix repeated cart update bug

* Shift responsibilities to Layout component

* Abstract out functionality into mixins

* Merge

* Updates to PR based on comments/discussions

- Scoped down on permissions for IVS and Personalize.
- Minor refactor of the recommender endpoint to clean up logic with respect to how discounts are extracted from reranking and experiment information added, to address the comment about why we have ‘old_url’ (we don’t anymore).
- Additional images and products are now using the original numbering scheme. Products are sequential in products.yaml and images are numbered per category.
- Merged a pinpoint fix from trunk (pull Arns rather than name from CloudFormation).
- Fixed a regression preventing pinpoint from accessing personalize recommendations.
- Fixed some typos.

* Protect text alerts component

* Use mixins within mixins

* Remove unneeded parameters from recommender service

* Remove optimisation about not regenerating interactions

* Enhance cart page

* only show cart summary if there are items in the cart

* formatting

* remove shipping and tax from mixin

* fix cart length check

* Fix cart item keys

* Use carousel component on product and home pages

* Adding UI button to trigger Abandoned Cart email

* Bump selfsigned version for node-forge vuln

* Pass ARNs to Pinpoint auto workshop lambda (#90)

* user-personalization recipe (#94)

* Event Engine support (#99)

* Wildcard resource due to CFN case sensitivity

* Add base Event Engine template

* Shorten IAM role name

* Task role name dynamic

* Shorten PinpointPersonalize role name

* Cache campaign and solution version details (#95)

* BugFix: Update csv path (#97)

When using RelativeResourceBucketPath, the CSV files are not written into the root of the bucket but under the ResourceBucketRelativePath. Fixing path with this commit

* Adding UI button to trigger Abandoned Cart email

* Feature/contextual metadata discounts (#16)

Following up on our conversations, we have moved the Personalize Discounts into using the "contextual metadata" feature to identify whether a product was being offered at a discount when it was viewed. Therefore, we use a single campaign and get different recommendations depending on the context of whether a discount is active. This will replace the previously mentioned solution. This change involves:

-Changes to training data (user-product interactions) to add the context field which will record which offer is active in the interaction (from {'DISCOUNT':'No'} and {'DISCOUNT':'Yes'})
-Remove the discounts campaign.
-Update the reranking campaign training and inference in the Lambda function that automatically trains all Personalize campaigns to take the contextual metadata (we use the reranking campaign with discounts because it allows us to “pick the top N”) (reranking also supports contextual metadata).
-Update the recommendations discounts endpoint to provide the context to Personalize.
-Update the experimentations framework to match this.
Ran unit tests.
-Workshop: We will also update the Jupyter notebook we added to show:
--How the interactions are generated.
--How the campaign is created.
--How recommendations might be retrieved from Personalize and from the endpoint.
--We also visualise to ensure that the recommender gives expected results.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* remove index of product rendered on carousel

* Abandoned cart pushing attributes initial work

* Temporary commit

* Revert "Temporary commit"

This reverts commit dd4e803.

* Adding in product information for event

* add welcome page

* more semantic markup

* service badges

* Use margin over gap property

* Avoid v-bind if unnecessary

* Adding in explicit URL locations for website images/locations

* use vuex to track welcome page visit

* remove copy that is only sometimes relevant

* add skip login for now button

* put text alerts section behind feature flag

* Upadting text tempalte

* fix analytics following removal of cart subtotal

* put abandon shopping cart button behind feature flag while waiting for back end service

* Enhance cart page

* only show cart summary if there are items in the cart

* formatting

* remove shipping and tax from mixin

* fix cart length check

* Fix cart item keys

* fix analytics following removal of cart subtotal

* put abandon shopping cart button behind feature flag while waiting for back end service

* add back cart feature flag

* Use carousel component on product and home pages

* remove index of product rendered on carousel

* Move data globally and add new nav

* New footer

* Remove role='presentation' from search results + truncate length

* Move margins style to parent component

* Move footer to partials/

* Make layout padding-top condition based on showNav

* Remove unnecessary breakpoint declaration

* Remove categories navigation from CategoryDetail page

* Updating UI conditional view and workshop books

* Fixing typos and grammar errors

* Adding bank in tempalte loads and links to tempalte files

* Feature/merge notebooks (#17)

Updates:

Merged the Notebook of Discounts (1.3) to the Notebook of Personalise (1.1)
Renamed delete notebook to 1.3
This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Feature/master merge 20201119 (#18)

Update: Bring master new commits to Daemn branch 

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Add back product stock behavior

* Refine product stock behavior

* Use dynamic titles for recommendations section

* Only show user recommendations when logged in

* use personalizeUser state to decide when to show recommendations

* fix ProductDetail logic

* fix personalizeUserId sent on search rerank

* Changes as requested on PR (#29)

Changes to PR as requested including:
- Default streams JSON pulled from S3
- Capitalisation of IVS
- Small code and doc changes
- Bump Golang version - Due to dependency update.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@dae.mn
Co-authored-by: Joe Major joe.major@dae.mn

* Feature/remove copier dependency (#30)

Merge removal of copier dependency from master.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Resize screenshot of discounts UI for notebook (#31)

Resize screenshot of discounts UI for notebook
 
This work was done by Dae.mn Team.
 Co-authored-by: Akram Dweikat akram@akramdweikat.com
 Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
 Co-authored-by: Damien Jade Duff damien.duff@dae.mn
 Co-authored-by: Joe Major joe.major@dae.mn

Co-authored-by: Shivani Mehendarge <61472912+ShivaniMehendarge@users.noreply.github.com>
Co-authored-by: Igor Krtolica <1186878+manbearshark@users.noreply.github.com>
Co-authored-by: Bastien <bastil@amazon.co.uk>
Co-authored-by: James Jory <james@jamesjory.com>
Co-authored-by: Kaz Baig <kazbaig@amazon.com>
Co-authored-by: Alex Chirayath <60116912+alexchirayath@users.noreply.github.com>
Co-authored-by: damiendaemon <71006393+damiendaemon@users.noreply.github.com>
Co-authored-by: daemon-joe <66024441+daemon-joe@users.noreply.github.com>
Co-authored-by: Daemon Solutions <Damien.Duff@dae.mn>
Co-authored-by: Chirayath <alexchir@3c22fb84644d.ant.amazon.com>
Co-authored-by: Aleksandr Patrushev <patrushev.alexander@gmail.com>
Co-authored-by: Dae.mn <Joe.Major@dae.mn>
james-jory added a commit that referenced this issue Aug 12, 2021
* Signup changes (#86)

* Add optimizely container params (#82)

* added optimizely sdk key param to containers

* logging add

* pprint

* ssm:GetParameters to task exec role

* rename ssm policy for execution role

* removed debug logging

* resource_bucket_path in CopyImagesLambdaFunction (#84)

* Bump selfsigned version for node-forge vuln

* remove phone number field from signUp form

* Update the READMEs and instructions to reflect changes in signup

Co-authored-by: Igor Krtolica <1186878+manbearshark@users.noreply.github.com>
Co-authored-by: Bastien <bastil@amazon.co.uk>
Co-authored-by: James Jory <james@jamesjory.com>

* fix #87 by running npm audit fix

* AWS Interactive Video Service (IVS) Demo addition to the retail demo. Summary as follow:
* IVS: Addition of IVS container, IVS cloud formation.
* UI: Adding UI Tab and page for the streams, its products, recommendations and discounts.
* UI: Adding Reset Amazon Personalize button on the user profile.
* UI: Refactoring for the menu.
* Amazon Personalize: Addition of new campaign for discounts, update to the container service code.
* Amazon Personalize: Additional Jupyter notebook, remove dependancy on bucket to stage data,  instead generate it from script.
* Update to the readmes and documentations.
This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat <akram.dweikat@gmail.com>
Co-authored-by: Akram Dweikat  <akram.dweikat@dae.mn>
Co-authored-by: Damien Jade Duff <damien.duff@daemonsolutions.com>
Co-authored-by: daemon-joe <joe.major@dae.mn>

* add welcome page

* more semantic markup

* service badges

* New product detail design + ability to change quantity on product page

* Remove extra console log

* Adjust spacing

* fix hover color on quantity background

* Add text alerts UI

* Use margin over gap property

* Use margin over gap property

* fix repeated cart update bug

* Avoid v-bind if unnecessary

* New product detail design + ability to change quantity on product page

* Remove extra console log

* Adjust spacing

* fix hover color on quantity background

* Use margin over gap property

* fix repeated cart update bug

* Shift responsibilities to Layout component

* Abstract out functionality into mixins

* Merge

* Updates to PR based on comments/discussions

- Scoped down on permissions for IVS and Personalize.
- Minor refactor of the recommender endpoint to clean up logic with respect to how discounts are extracted from reranking and experiment information added, to address the comment about why we have ‘old_url’ (we don’t anymore).
- Additional images and products are now using the original numbering scheme. Products are sequential in products.yaml and images are numbered per category.
- Merged a pinpoint fix from trunk (pull Arns rather than name from CloudFormation).
- Fixed a regression preventing pinpoint from accessing personalize recommendations.
- Fixed some typos.

* Protect text alerts component

* Use mixins within mixins

* Remove unneeded parameters from recommender service

* Remove optimisation about not regenerating interactions

* Enhance cart page

* only show cart summary if there are items in the cart

* formatting

* remove shipping and tax from mixin

* fix cart length check

* Fix cart item keys

* Use carousel component on product and home pages

* Adding UI button to trigger Abandoned Cart email

* Bump selfsigned version for node-forge vuln

* Pass ARNs to Pinpoint auto workshop lambda (#90)

* user-personalization recipe (#94)

* Event Engine support (#99)

* Wildcard resource due to CFN case sensitivity

* Add base Event Engine template

* Shorten IAM role name

* Task role name dynamic

* Shorten PinpointPersonalize role name

* Cache campaign and solution version details (#95)

* BugFix: Update csv path (#97)

When using RelativeResourceBucketPath, the CSV files are not written into the root of the bucket but under the ResourceBucketRelativePath. Fixing path with this commit

* Adding UI button to trigger Abandoned Cart email

* Feature/contextual metadata discounts (#16)

Following up on our conversations, we have moved the Personalize Discounts into using the "contextual metadata" feature to identify whether a product was being offered at a discount when it was viewed. Therefore, we use a single campaign and get different recommendations depending on the context of whether a discount is active. This will replace the previously mentioned solution. This change involves:

-Changes to training data (user-product interactions) to add the context field which will record which offer is active in the interaction (from {'DISCOUNT':'No'} and {'DISCOUNT':'Yes'})
-Remove the discounts campaign.
-Update the reranking campaign training and inference in the Lambda function that automatically trains all Personalize campaigns to take the contextual metadata (we use the reranking campaign with discounts because it allows us to “pick the top N”) (reranking also supports contextual metadata).
-Update the recommendations discounts endpoint to provide the context to Personalize.
-Update the experimentations framework to match this.
Ran unit tests.
-Workshop: We will also update the Jupyter notebook we added to show:
--How the interactions are generated.
--How the campaign is created.
--How recommendations might be retrieved from Personalize and from the endpoint.
--We also visualise to ensure that the recommender gives expected results.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* remove index of product rendered on carousel

* Abandoned cart pushing attributes initial work

* Temporary commit

* Revert "Temporary commit"

This reverts commit dd4e803.

* Adding in product information for event

* add welcome page

* more semantic markup

* service badges

* Use margin over gap property

* Avoid v-bind if unnecessary

* Adding in explicit URL locations for website images/locations

* use vuex to track welcome page visit

* remove copy that is only sometimes relevant

* add skip login for now button

* put text alerts section behind feature flag

* Upadting text tempalte

* fix analytics following removal of cart subtotal

* put abandon shopping cart button behind feature flag while waiting for back end service

* Enhance cart page

* only show cart summary if there are items in the cart

* formatting

* remove shipping and tax from mixin

* fix cart length check

* Fix cart item keys

* fix analytics following removal of cart subtotal

* put abandon shopping cart button behind feature flag while waiting for back end service

* add back cart feature flag

* Use carousel component on product and home pages

* remove index of product rendered on carousel

* Move data globally and add new nav

* New footer

* Remove role='presentation' from search results + truncate length

* Move margins style to parent component

* Move footer to partials/

* Make layout padding-top condition based on showNav

* Remove unnecessary breakpoint declaration

* Remove categories navigation from CategoryDetail page

* Updating UI conditional view and workshop books

* Fixing typos and grammar errors

* Adding bank in tempalte loads and links to tempalte files

* Feature/merge notebooks (#17)

Updates:

Merged the Notebook of Discounts (1.3) to the Notebook of Personalise (1.1)
Renamed delete notebook to 1.3
This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Feature/master merge 20201119 (#18)

Update: Bring master new commits to Daemn branch 

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Add back product stock behavior

* Refine product stock behavior

* Use dynamic titles for recommendations section

* Only show user recommendations when logged in

* use personalizeUser state to decide when to show recommendations

* fix ProductDetail logic

* fix personalizeUserId sent on search rerank

* Implement Waypoint demo, including:
  - Amazon Waypoint geofence initiated flows & logic
  - Amazon Waypoint map UI component & scenario interface
  - Store-side orders view
  - Pinpoint campaigns integration for recommendations and abandoned cart
  - Amazon Personalize for coupon offers
  - Pinpoint transactional messaging for pickups
  - In-browser notifications
  - Amazon Pay integration
  - A Jupyter notebook illustrating Waypoint and Amazon Pinpoint integration

  This work was done by Dae.mn Team.
  Co-authored-by: Akram Dweikat akram@akramdweikat.com
  Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
  Co-authored-by: Damien Jade Duff damien.duff@dae.mn
  Co-authored-by: Joe Major joe.major@dae.mn

* Changes as requested on PR (#29)

Changes to PR as requested including:
- Default streams JSON pulled from S3
- Capitalisation of IVS
- Small code and doc changes
- Bump Golang version - Due to dependency update.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@dae.mn
Co-authored-by: Joe Major joe.major@dae.mn

* Feature/remove copier dependency (#30)

Merge removal of copier dependency from master.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Resize screenshot of discounts UI for notebook (#31)

Resize screenshot of discounts UI for notebook
 
This work was done by Dae.mn Team.
 Co-authored-by: Akram Dweikat akram@akramdweikat.com
 Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
 Co-authored-by: Damien Jade Duff damien.duff@dae.mn
 Co-authored-by: Joe Major joe.major@dae.mn

* Pr/requested fixes (#131)

* Move interactions generation into the right place (#32)

This work was done by Dae.mn Team.
  Co-authored-by: Akram Dweikat akram@akramdweikat.com
  Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
  Co-authored-by: Damien Jade Duff damien.duff@dae.mn
  Co-authored-by: Joe Major joe.major@dae.mn

Co-authored-by: Dae.mn <Joe.Major@dae.mn>

* Bugfix/ivs deployment flag (#33)

Added flag to prevent CloudFormaiton deployment of IVS resources when default streams flag is set to Yes

This work was done by Dae.mn Team.
  Co-authored-by: Akram Dweikat akram@akramdweikat.com
  Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
  Co-authored-by: Damien Jade Duff damien.duff@dae.mn
  Co-authored-by: Joe Major joe.major@dae.mn

Co-authored-by: damien.dae.mn <71006393+damiendaemon@users.noreply.github.com>
Co-authored-by: Dae.mn <Joe.Major@dae.mn>

* Feature/rename to location services (#75)

Rename Waypoint to Location Service
    ✓ Tested in deployment.
This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@dae.mn
Co-authored-by: Joe Major joe.major@dae.mn

* Improvements from PR feedback

    Scope down on location resources.
    Allow local testing with x-ray.
    Change Location stack to be conditional rather than parts.
    Optionally get long code in Location event handler
    Fix hostnames for offers
    Add in license headers
    Add comments about custom objective option
    Better text in article about Location
    Disable checkout if no consent + consent checkbox
    Some grammar, spelling errors

* Scope down workshop; put back in GOPROXY_OVERRIDE ; base workshop defaults

* Go proxy override

* Expunge "NRF"

Co-authored-by: Shivani Mehendarge <61472912+ShivaniMehendarge@users.noreply.github.com>
Co-authored-by: Igor Krtolica <1186878+manbearshark@users.noreply.github.com>
Co-authored-by: Bastien <bastil@amazon.co.uk>
Co-authored-by: James Jory <james@jamesjory.com>
Co-authored-by: Kaz Baig <kazbaig@amazon.com>
Co-authored-by: Alex Chirayath <60116912+alexchirayath@users.noreply.github.com>
Co-authored-by: damiendaemon <71006393+damiendaemon@users.noreply.github.com>
Co-authored-by: daemon-joe <66024441+daemon-joe@users.noreply.github.com>
Co-authored-by: Daemon Solutions <Damien.Duff@dae.mn>
Co-authored-by: Chirayath <alexchir@3c22fb84644d.ant.amazon.com>
Co-authored-by: Aleksandr Patrushev <patrushev.alexander@gmail.com>
Co-authored-by: Dae.mn <Joe.Major@dae.mn>
james-jory added a commit that referenced this issue Nov 5, 2021
* Signup changes (#86)

* Add optimizely container params (#82)

* added optimizely sdk key param to containers

* logging add

* pprint

* ssm:GetParameters to task exec role

* rename ssm policy for execution role

* removed debug logging

* resource_bucket_path in CopyImagesLambdaFunction (#84)

* Bump selfsigned version for node-forge vuln

* remove phone number field from signUp form

* Update the READMEs and instructions to reflect changes in signup

Co-authored-by: Igor Krtolica <1186878+manbearshark@users.noreply.github.com>
Co-authored-by: Bastien <bastil@amazon.co.uk>
Co-authored-by: James Jory <james@jamesjory.com>

* fix #87 by running npm audit fix

* AWS Interactive Video Service (IVS) Demo addition to the retail demo. Summary as follow:
* IVS: Addition of IVS container, IVS cloud formation.
* UI: Adding UI Tab and page for the streams, its products, recommendations and discounts.
* UI: Adding Reset Amazon Personalize button on the user profile.
* UI: Refactoring for the menu.
* Amazon Personalize: Addition of new campaign for discounts, update to the container service code.
* Amazon Personalize: Additional Jupyter notebook, remove dependancy on bucket to stage data,  instead generate it from script.
* Update to the readmes and documentations.
This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat <akram.dweikat@gmail.com>
Co-authored-by: Akram Dweikat  <akram.dweikat@dae.mn>
Co-authored-by: Damien Jade Duff <damien.duff@daemonsolutions.com>
Co-authored-by: daemon-joe <joe.major@dae.mn>

* add welcome page

* more semantic markup

* service badges

* New product detail design + ability to change quantity on product page

* Remove extra console log

* Adjust spacing

* fix hover color on quantity background

* Add text alerts UI

* Use margin over gap property

* Use margin over gap property

* fix repeated cart update bug

* Avoid v-bind if unnecessary

* New product detail design + ability to change quantity on product page

* Remove extra console log

* Adjust spacing

* fix hover color on quantity background

* Use margin over gap property

* fix repeated cart update bug

* Shift responsibilities to Layout component

* Abstract out functionality into mixins

* Merge

* Updates to PR based on comments/discussions

- Scoped down on permissions for IVS and Personalize.
- Minor refactor of the recommender endpoint to clean up logic with respect to how discounts are extracted from reranking and experiment information added, to address the comment about why we have ‘old_url’ (we don’t anymore).
- Additional images and products are now using the original numbering scheme. Products are sequential in products.yaml and images are numbered per category.
- Merged a pinpoint fix from trunk (pull Arns rather than name from CloudFormation).
- Fixed a regression preventing pinpoint from accessing personalize recommendations.
- Fixed some typos.

* Protect text alerts component

* Use mixins within mixins

* Remove unneeded parameters from recommender service

* Remove optimisation about not regenerating interactions

* Enhance cart page

* only show cart summary if there are items in the cart

* formatting

* remove shipping and tax from mixin

* fix cart length check

* Fix cart item keys

* Use carousel component on product and home pages

* Adding UI button to trigger Abandoned Cart email

* Bump selfsigned version for node-forge vuln

* Pass ARNs to Pinpoint auto workshop lambda (#90)

* user-personalization recipe (#94)

* Event Engine support (#99)

* Wildcard resource due to CFN case sensitivity

* Add base Event Engine template

* Shorten IAM role name

* Task role name dynamic

* Shorten PinpointPersonalize role name

* Cache campaign and solution version details (#95)

* BugFix: Update csv path (#97)

When using RelativeResourceBucketPath, the CSV files are not written into the root of the bucket but under the ResourceBucketRelativePath. Fixing path with this commit

* Adding UI button to trigger Abandoned Cart email

* Feature/contextual metadata discounts (#16)

Following up on our conversations, we have moved the Personalize Discounts into using the "contextual metadata" feature to identify whether a product was being offered at a discount when it was viewed. Therefore, we use a single campaign and get different recommendations depending on the context of whether a discount is active. This will replace the previously mentioned solution. This change involves:

-Changes to training data (user-product interactions) to add the context field which will record which offer is active in the interaction (from {'DISCOUNT':'No'} and {'DISCOUNT':'Yes'})
-Remove the discounts campaign.
-Update the reranking campaign training and inference in the Lambda function that automatically trains all Personalize campaigns to take the contextual metadata (we use the reranking campaign with discounts because it allows us to “pick the top N”) (reranking also supports contextual metadata).
-Update the recommendations discounts endpoint to provide the context to Personalize.
-Update the experimentations framework to match this.
Ran unit tests.
-Workshop: We will also update the Jupyter notebook we added to show:
--How the interactions are generated.
--How the campaign is created.
--How recommendations might be retrieved from Personalize and from the endpoint.
--We also visualise to ensure that the recommender gives expected results.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* remove index of product rendered on carousel

* Abandoned cart pushing attributes initial work

* Temporary commit

* Revert "Temporary commit"

This reverts commit dd4e803.

* Adding in product information for event

* add welcome page

* more semantic markup

* service badges

* Use margin over gap property

* Avoid v-bind if unnecessary

* Adding in explicit URL locations for website images/locations

* use vuex to track welcome page visit

* remove copy that is only sometimes relevant

* add skip login for now button

* put text alerts section behind feature flag

* Upadting text tempalte

* fix analytics following removal of cart subtotal

* put abandon shopping cart button behind feature flag while waiting for back end service

* Enhance cart page

* only show cart summary if there are items in the cart

* formatting

* remove shipping and tax from mixin

* fix cart length check

* Fix cart item keys

* fix analytics following removal of cart subtotal

* put abandon shopping cart button behind feature flag while waiting for back end service

* add back cart feature flag

* Use carousel component on product and home pages

* remove index of product rendered on carousel

* Move data globally and add new nav

* New footer

* Remove role='presentation' from search results + truncate length

* Move margins style to parent component

* Move footer to partials/

* Make layout padding-top condition based on showNav

* Remove unnecessary breakpoint declaration

* Remove categories navigation from CategoryDetail page

* Updating UI conditional view and workshop books

* Fixing typos and grammar errors

* Adding bank in tempalte loads and links to tempalte files

* Feature/merge notebooks (#17)

Updates:

Merged the Notebook of Discounts (1.3) to the Notebook of Personalise (1.1)
Renamed delete notebook to 1.3
This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Feature/master merge 20201119 (#18)

Update: Bring master new commits to Daemn branch 

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Add back product stock behavior

* Refine product stock behavior

* Use dynamic titles for recommendations section

* Only show user recommendations when logged in

* use personalizeUser state to decide when to show recommendations

* fix ProductDetail logic

* fix personalizeUserId sent on search rerank

* Implement Waypoint demo, including:
  - Amazon Waypoint geofence initiated flows & logic
  - Amazon Waypoint map UI component & scenario interface
  - Store-side orders view
  - Pinpoint campaigns integration for recommendations and abandoned cart
  - Amazon Personalize for coupon offers
  - Pinpoint transactional messaging for pickups
  - In-browser notifications
  - Amazon Pay integration
  - A Jupyter notebook illustrating Waypoint and Amazon Pinpoint integration

  This work was done by Dae.mn Team.
  Co-authored-by: Akram Dweikat akram@akramdweikat.com
  Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
  Co-authored-by: Damien Jade Duff damien.duff@dae.mn
  Co-authored-by: Joe Major joe.major@dae.mn

* Changes as requested on PR (#29)

Changes to PR as requested including:
- Default streams JSON pulled from S3
- Capitalisation of IVS
- Small code and doc changes
- Bump Golang version - Due to dependency update.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@dae.mn
Co-authored-by: Joe Major joe.major@dae.mn

* Feature/remove copier dependency (#30)

Merge removal of copier dependency from master.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
Co-authored-by: Joe Major joe.major@dae.mn

* Resize screenshot of discounts UI for notebook (#31)

Resize screenshot of discounts UI for notebook
 
This work was done by Dae.mn Team.
 Co-authored-by: Akram Dweikat akram@akramdweikat.com
 Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
 Co-authored-by: Damien Jade Duff damien.duff@dae.mn
 Co-authored-by: Joe Major joe.major@dae.mn

* Pr/requested fixes (#131)

* Move interactions generation into the right place (#32)

This work was done by Dae.mn Team.
  Co-authored-by: Akram Dweikat akram@akramdweikat.com
  Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
  Co-authored-by: Damien Jade Duff damien.duff@dae.mn
  Co-authored-by: Joe Major joe.major@dae.mn

Co-authored-by: Dae.mn <Joe.Major@dae.mn>

* Bugfix/ivs deployment flag (#33)

Added flag to prevent CloudFormaiton deployment of IVS resources when default streams flag is set to Yes

This work was done by Dae.mn Team.
  Co-authored-by: Akram Dweikat akram@akramdweikat.com
  Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
  Co-authored-by: Damien Jade Duff damien.duff@dae.mn
  Co-authored-by: Joe Major joe.major@dae.mn

Co-authored-by: damien.dae.mn <71006393+damiendaemon@users.noreply.github.com>
Co-authored-by: Dae.mn <Joe.Major@dae.mn>

* Alexa demo including:
  - Alexa skill for C-store.
  - Integration with retail demo store including carts, orders.
  - Authentication vis retail demo store cognito user pool for Alexa user.
  - Integration with waypoint place indexes and geofence.
  - Order confirmation email.
  - Amazon Pay payment.
  - New products + images for c-store.
  - Personalize changes to filter between different c-store vs retail demo scenarios.
  - Personalize logic for creating sensible c-store data.
  - Deployment in 2 steps for Alexa+retail demo store stacks.
  This work was done by Dae.mn Team.
  Co-authored-by: Akram Dweikat akram@akramdweikat.com
  Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
  Co-authored-by: Damien Jade Duff damien.duff@daemonsolutions.com
  Co-authored-by: Joe Major joe.major@dae.mn

* Revrt gen_env.sh to automatically generated variables

* Rename Waypoint to Location Service (#74)

- Rename Waypoint to Location Service
✓ Tested in deployment.
- Add back in missed Alexa/Pay code.

This work was done by Dae.mn Team.
Co-authored-by: Akram Dweikat akram@akramdweikat.com
Co-authored-by: Akram Dweikat akram.dweikat@dae.mn
Co-authored-by: Damien Jade Duff damien.duff@dae.mn
Co-authored-by: Joe Major joe.major@dae.mn

* Scope down on CloudFormation for geo:

* Late tidy: Remove debugging commented code

* Lambda tidy.

* Disambiguate latest comment in code

* Remove sandbox from template.env since now coming through CloudFormation

* Changes after review of Alexa skill:
 - Filter based on product attribute
 - Fix logs that do not print logs on products service
 - Defaults for EventEngine
 - Do not check for user on filter

 -----
 This work was done by the Dae.mn Team. http://dae.mn/ml
 Damien.Duff@dae.mn Joe.Major@dae.mn Kyle.Redelinghuys@dae.mn

* Changes as requested in PR:

Use carts service from retail demo store rather than a separate Alexa cart.
Use "guest" user when no Cognito user.
Require a profile user if Cognito account linked
Change invocation name as a workaround for stale skills in test Developer env
Remove "where_visible" flag due to lack of workarounds for filters.
Special purpose but more relevant Personalize filters.
Remove unused get_all_product_categories()
Add new categories to categories for upload

-----
This work was done by the Dae.mn Team. http://dae.mn/ml
Damien.Duff@dae.mn Joe.Major@dae.mn

* Correct category name

* Add aliases back to product service

Co-authored-by: Shivani Mehendarge <61472912+ShivaniMehendarge@users.noreply.github.com>
Co-authored-by: Igor Krtolica <1186878+manbearshark@users.noreply.github.com>
Co-authored-by: Bastien <bastil@amazon.co.uk>
Co-authored-by: James Jory <james@jamesjory.com>
Co-authored-by: Kaz Baig <kazbaig@amazon.com>
Co-authored-by: Alex Chirayath <60116912+alexchirayath@users.noreply.github.com>
Co-authored-by: damiendaemon <71006393+damiendaemon@users.noreply.github.com>
Co-authored-by: daemon-joe <66024441+daemon-joe@users.noreply.github.com>
Co-authored-by: Daemon Solutions <Damien.Duff@dae.mn>
Co-authored-by: Chirayath <alexchir@3c22fb84644d.ant.amazon.com>
Co-authored-by: Aleksandr Patrushev <patrushev.alexander@gmail.com>
Co-authored-by: Dae.mn <Joe.Major@dae.mn>
damiendaemon referenced this issue in Daemon-Solutions/retail-demo-store Nov 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant