How ronitsachdev/cdk-serverless-template works
This repository is an AWS CDK template that turns application configuration into a deployable serverless web-app stack. The principal workflow is: a developer supplies context/configuration, the CDK entry point creates the stack, and the stack provisions API, data, and static-content resources; API Gateway dispatches requests to inline Lambda handlers, while optional monitoring observes API and Lambda metrics. The README documents DynamoDB or Aurora, S3/CloudFront, security, and monitoring. The sampled handlers return demonstration responses rather than implementing database operations, so no runtime Lambda-to-database data flow is shown.
Main entry points: database-construct.ts Database Construct · serverless-webapp-stack.ts Web App Stack · api-construct.ts API Construct · s3-construct.ts Static Asset Construct
Components 19
Configuration and Stack
- App Configuration
config/app-config.ts - CDK Entry Point
bin/app.ts - Web App Stack
lib/serverless-webapp-stack.ts
API Runtime
- API Construct
lib/constructs/api-construct.ts - API Gateway
lib/constructs/api-construct.ts - Lambda Execution Role
lib/constructs/api-construct.ts - Lambda Handlers
lib/constructs/api-construct.ts
Database Options
- Database Construct
lib/constructs/database-construct.ts - DynamoDB Tables
lib/constructs/database-construct.ts - Aurora Cluster
lib/constructs/database-construct.ts - Credentials Secret
lib/constructs/database-construct.ts - Aurora VPC
lib/constructs/database-construct.ts
Web and Monitoring
- Static Asset Construct
lib/constructs/s3-construct.ts - Asset Bucket
lib/constructs/s3-construct.ts - CloudFront Distribution
lib/constructs/s3-construct.ts - Sample Site Files
lib/constructs/s3-construct.ts - Monitoring Construct
lib/constructs/monitoring-construct.ts - CloudWatch Dashboard
lib/constructs/monitoring-construct.ts
Other components
- Application Developer
Connections 27
- Application Developer → App Configuration: edits settings
- App Configuration → CDK Entry Point: provides defaults
- Application Developer → CDK Entry Point: starts deployment
- CDK Entry Point → Web App Stack: instantiates
- Web App Stack → Database Construct: creates
- Web App Stack → API Construct: creates
- Web App Stack → Static Asset Construct: creates
- Web App Stack → Monitoring Construct: optionally creates
- Database Construct → DynamoDB Tables: creates tables
- Database Construct → Aurora VPC: creates for Aurora
- Database Construct → Credentials Secret: creates credentials
- Database Construct → Aurora Cluster: creates cluster
- Credentials Secret → Aurora Cluster: supplies credentials
- Aurora VPC → Aurora Cluster: hosts cluster
- API Construct → API Gateway: creates routes
- API Construct → Lambda Execution Role: creates role
- API Construct → Lambda Handlers: creates functions
- API Construct → Database Construct: grants database access
- API Gateway → Lambda Handlers: dispatches requests
- Static Asset Construct → Asset Bucket: creates bucket
- Static Asset Construct → CloudFront Distribution: optionally creates
- Static Asset Construct → Sample Site Files: defines sample content
- Sample Site Files → Asset Bucket: deploys content
- CloudFront Distribution → Asset Bucket: serves objects
- Monitoring Construct → CloudWatch Dashboard: creates dashboard
- Monitoring Construct → API Gateway: adds API metrics
- Monitoring Construct → Lambda Handlers: adds Lambda metrics