serverless-ecommerce-workshop
Serverless e-commerce workshop
A workshop to learn how to create a simple serverless e-commerce and deploying it on AWS
What are we going to build?
It turns out we have accidentally discovered time travel! 😱
There is only one rule though: we cannot use time travel to bet or play the lottery! 😖
So, how can we profit from this amazing discovery? 🤔
Well, I have an idea: since we are cloud engineers and entrepreneurs, why don’t we build a startup that allows music fans to go back in time and attend some of the concerts that made the history of music?
Sounds cool, right?
In this workshop we will be building TimelessMusic, a serverless e-commerce to sell the tickets for our music-time-travel business! Are you ready to get rich? 🤑
Warning
We can’t promise you’ll get (economically) rich with serverless, but taking this workshop will certainly enrich your skills. And who knows where that might lead you…
Learnings
This workshop will explore the following topics
- How to host a Single Page Application (SPA) on S3
- How to write APIs with AWS Lambda and API Gateway
- How to use DynamoDB to store the data for your APIs
- How to process forms with AWS Lambda
- How to store unit of works on SQS
- How to create background workers with AWS Lambda
-
… and a lot of other useful things, like:
- Serverless Application Model (SAM)
- AWS Roles, Policies and the security model in general
- The AWS Command Line interface
- Some bash tricks
- Some other cool details about AWS and Serverless
Disclaimers
- While we are going to build a fully functional application (somewhat), this application is not to be considered production-ready™️. We’ll cut a few corners along the way.
- The goal is to learn the basics about AWS and Serverless (and few other related things), but we are not going to be comprehensive. We will favour an hands-on approach where possible.
Requirements
Before getting started, make sure you have the following requirements:
- Your own AWS account
- An AWS user with Admin access and Programmatic Access
- The AWS Command Line Interface installed and configured for your user
- Node.js (v16 or higher)
- A bash compatible shell
- Docker
- SAM (Serverless Application Model)
To make sure you have everything configured correctly, you can run the following command in your terminal:
aws sts get-caller-identity
If all went well, you should see something like this:
{ "UserId": "XYZ", "Account": "123456789012", "Arn": "arn:aws:iam::123456789012:username" }
Finally, make sure to clone this repository locally and run:
npm install
To install all the necessary dependencies.
Getting started
We will start by deploying a static website (our ecommerce frontend) to AWS!
➡️ Lesson 01 – Deploying the frontend
Contributing
In the spirit of Open Source, everyone is very welcome to contribute to this project.
You can contribute just by submitting bugs or suggesting improvements by
opening an issue on GitHub or by submitting a PR.
License
Licensed under MIT License. © fourTheorem