In this series of articles, I intend to provide a detailed, accurate, and step-by-step explanation of how to implement a RESTful web interface using a stack of Typescript, Node.js, Dynamoose, DynamoDB, Jest, Serverless Framework, AWS, and Amazon Cognito.
The final product includes everything one would expect from a RESTful API, including group-based restrictions on DELETE, PUT and POST operations without the use of custom lambda authorizer functions (yes, this is possible and I'll take you step-by-step through the process).
- This Overview
- Background and project stack
- Initial local tool installation and setup
- Amazon Web Services sign-Up and configuration
- File types, purposes, and directory skeleton
- [First build to ensure proper configuration]
- [Get our debugger and offline environment up and running]
- [Fleshing out our basic endpoints]
- [Bring online unit, integration, and coverage testing]
- [Incorporating database support]
- [Mocking our various components]
- [Adding in Cognito-based user authentication and groups]
- [Activating AWS IAm group-based authorization without the use of custom authorizers]
- [Github repository]