This is a sample project, implementing a webhook, receiving sample bank transactions data , which we validate, format and store as part of a data pipeline.
This pipeline is realized using AWS services, such as API Gateway, Lambda, DynamoDB, S3, and StepFunctions. Using the AWS CDK, we can deploy the infrastructure as code, and also run unit tests.
The whole data pipeline runs as a state machine, which is triggered by an API Gateway webhook. The different states validate, format and store the data in DynamoDB and S3.
This project is licensed under the MIT License - see the LICENSE file for details.
The remodelled transaction data in DynamoDb will be stored in format like the following(the table below is incomplete):
| PK | SK | amount | bankAccountId | bankName |
|---|---|---|---|---|
| IBAN#NL01INHO0000000001 | TRANSACTION#tr_123#2023-09-23T08:30:36.550Z | 100.00 | account_XXX | ING |
| IBAN#NL01INHO0000000001 | TRANSACTION#tr_124#2023-09-23T08:30:36.550Z | 200.00 | account_XXX | ING |
| IBAN#NL01INHO0000000001 | TRANSACTION#tr_125#2023-09-23T08:30:36.550Z | 300.00 | account_XXX | ING |
npm installto install dependenciescdk bootstrapto bootstrap the AWS CDK Toolkit into your AWS accountcdk deployto deploy the stack to your AWS account/region
npm run watchwatch for changes and compilenpm run testperform the jest unit testscdk deploydeploy this stack to your default AWS account/regioncdk diffcompare deployed stack with current statecdk synthemits the synthesized CloudFormation template


