My (now)-wife and I were married at the start of October this year.
I wanted a nice way to get the RSVPs from our wedding guests, but needed a cheap way to do this.
AWS provide a nice and simple way of deploying static HTML and JS websites, through Amazon S3 Static hosting.
If you name your S3 Bucket the same name as your incoming domain name, you can seamlessly host the page is if it was on your own server (racking up usage charges every hour).
The best part about S3 - you are only paying for the traffic you are using. Since we had ~50 guests, the site will only really be loaded a maximum of 100 times.
danandcassgetmarried.com - The Site
Our requirements were simple - a landing page with a button for RSVP, and a form for the guests to enter their RSVP details.
The page itself is very simple, you can view it on GitHub here.
danandcassgetmarried.com - The API Gateway
For my use case, I only need one endpoint created, a POST method on the endpoint /rsvp
danandcassgetmarried.com - The Lambda Function
Lambda is an amazing little service from AWS that allows you to run NodeJS (and now Python) code to interact with other AWS services.
The function below is receiving data from the webform, under the object 'event'. All we need to do is extract those details and create a string for a nice email message we can read when our guest RSVPs
danandcassgetmarried.com - The RSVP Email
For each POST through the API Gateway, we receive an SNS email message confirming our guest!
danandcassgetmarried.com - The Bill
So, our wedding is over, the site has done it's job. Let's see how much it actually cost me from AWS.
So, under $2! My Route53 entry here includes both the RSVP site, and my personal domain (dddanmar.net)
danandcassgetmarried.com - Finale
Very cool, we've used static hosting, custom domains, API Gateway, Lambda and SNS to create an RSVP site.
There are far more fine grained controls for API Gateway, but if you have the option to keep it simple, always keep it simple, stupid.