I built this project to get my hands familiar with both SQS and SNS.
- A customer completes an order.
OrderManagementLambdareceives the order details and sends them toOrderQueueSQS.PaymentProcessingLambdaretrieves the order fromOrderQueueSQSand processes the payment.- The result of the payment is published to
PaymentStatusSNS. InventoryManagementLambda, subscribed toPaymentStatusSNS, updates the inventory and publishes toInventoryStatusSNS.NotificationServiceLambda, subscribed toInventoryStatusSNS, sends an email to the customer confirming the order.
I also had to setup AWS SES in order to send emails.
This could also be done via Terraform.
After provisioning the resources, I got a confirmation email.
I was using the Sandbox, so to send emails to anyone I would have to get out of it.
I would send emails to my personal email using different variations with the plus signhttps://support.google.com/a/users/answer/9282734?hl=en#.

