I've made this project for test some technologies. I want to test and wrap TDD or BDD behaviour in a Serverless HTTP project.
First we made a boilerplate and then we've to made a chapters with cloud items like:
DynamoDBCognitoS3class storageSNSSMS interface (why no)
I've made in the time a lot of stuff in js, python and why no rust. At the moment JS is a "suittable" environment for lambda serverless with a good ecosystem and it's good to archieve a proof-of concepts.
-
Serverless Framework, a good choise if you don't need o want to use a serius IaaC provisioner like Terraform or you need to the SAM architetture for the code in cloud aws(but we use terraform for external resource, serverless is pure shit for doing it) -
Express/serverless-httpa most popular HTTP framework in node.js with a wrapper allowing us to use express to serverless use.(because we don't having HTTP servers, port or sockets to handle but cloud events) -
Serverless-offlinelikenodemon, this start the handling of the express app in your localport::5000 -
Webpackandwebpack-serverlessif you want to use the latest ecma version, use loaders and manage the bundle of your code. -
JestOur TDD/BDD assertion library -
SuperTestHTTP server testing library -
DynamooseAn ORM for DynamoDB key-value database -
aws-sdkA javascript sdk for use AWS APIs, because our intentions are making a lot of(a sirena) code for basics services used with lambda in aws.
-
Dockerordocker-composewe have to test or mocking some resources, because may we don't have an aws account or just we don't need to provision simple resources for basic development. -
Terraformwe are a cool guys right yet? And we need to be sure if the resources like Databases, Storages, User directories and Topics are correctly managed (see cloudformation drift and tfstate with S3 backend in terraform docs for more). So, for this reason we have to get a look to basics in Terraform.
Basically, we are going to made an app can use the APIGW aws service managed by an express app.