A Twilio IVR application written in TypeScript and hosted in AWS Lambda using DynamoDB, S3, and SNS.
The CDK deployment stack lives in lib/roboyoz-service.ts.
The application logic lives in app/.
- index.ts contains the Lambda handler and associated helper routines.
- The Lambda handler dispatches incoming events to functions in the actions.ts module based on the HTTP request path, using a callback map to allow the action handler to modify the TwiML response.
- messages.ts consolidates the IVR response strings.
- interview.ts provides the DynamoDB database model that tracks the caller state and provides continuity between calls.
- recording.ts logs recording metadata to DynamoDB.
npm run build && cdk deploy
npm run build
compile typescript to jsnpm run watch
watch for changes and compilenpm run test
perform the jest unit testsnpx cdk deploy
deploy this stack to your default AWS account/regionnpx cdk diff
compare deployed stack with current statenpx cdk synth
emits the synthesized CloudFormation template