Skip to content

Config-driven AWS API ES6 template integrating federated Cognito User Pool authentication and a robust approach to release management.

Notifications You must be signed in to change notification settings

karmaniverous/aws-api-template

Repository files navigation

AWS API Template

Getting your application's back end up and running on Amazon Web Services (AWS) is not a trivial exercise, especially if you want a robust and extensible result that will support a modern development process.

Here's a plug-and-play AWS API template that offers the following features:

  • Produces a secure Amazon Web Services (AWS) API using the Serverless Framework.

  • Features both public and private endpoints.

  • Secured by an AWS Cognito User Pool supporting native username/password authentication and one federated identity provider (Google).

  • Configured to act as both the authentication provider and a secure remote API for my Next.js Template on the front end.

  • Efficient and highly configurable. You should be able to get it up and running on your own domain, in your own infrastructure, in just a few minutes with edits to nothing but environment variables.

  • Deployable from the command line to multiple AWS CloudFormation Stacks, each exposing an independent environment (e.g. dev, test, and prod), with its own authentication provider, at configurable endpoints.

  • Built-in backwards compatibility. Every major release triggers the deployment of an independent Stack on every environment. Share key resources across Stacks so you can bring your users with you across major versions.

  • Automatically build and deploy the relevant Stack following every code push with AWS CodePipeline. See Automated Deployment below for more info.

  • Code formatting at every save & paste with prettier.

  • One-button release to GitHub with release-it.

Click here for full documentation & instructions!

Library Documentation

hello(id) ⇒ any

Returns a greeting.

Kind: global function
Returns: any - A friendly greeting.

Param Type Description
id any An identity.

Click here to review this template's documentation.

Library Documentation

hello(id) ⇒ any

Returns a greeting.

Kind: global function
Returns: any - A friendly greeting.

Param Type Description
id any An identity.