dlydiard / ddd-cqrs-es-aws-sam Goto Github PK
View Code? Open in Web Editor NEWComprehensive Domain Driven Design, CQRS, and Event Sourcing example utilizing AWS SAM.
License: MIT License
Comprehensive Domain Driven Design, CQRS, and Event Sourcing example utilizing AWS SAM.
License: MIT License
AWS SAM supports x-ray for lambda function, update template to support x-ray.
SAM Templates doesn't support this directly yet. So CloudFormation syntax would have to be used.
Hi,
Thanks for publishing this- your repo has been very helpful for understanding CQRS and event sourcing. I am wondering why you chose to create a service class call the repository from the service class, rather than directly from the command handler? I was trying to find more information about services in command handlers but did not find much. Thanks!
.env file isn't used in the same sense a standalone node application would use one.
AWS SAM cli supports JSON files as parameter inputs via --env-vars
one of the drivers for creating this project, is that i couldn't find any examples of DDD/CQRS/Event Sourcing using AWS serverless architecture.
most node frameworks like nestjs and node-ts/bus only work as a standalone node application.
auto-dll plugin makes builds significantly faster, but currently breaks CodeBuild. auto-dll-plugin also breaks debugging with the current (commented out) approach, since the dll file and lambda function are merged, but the source map files are not re-mapped.
A set validation interface/service should be created which uses the SetValidationRepository as its implementation. It should not be assumed a repository is used to implement Set Validation.
this will allow unit testing of code that touches aws resources, and running locally without first deploying to cloud formation.
Gets stuck at "92% chunk asset optimization TerserPlugin"
See webpack-contrib/uglifyjs-webpack-plugin#272
This is a webpack build issue
code should handle scenarios when services go down or fail. strict ordering needs to stay intact on retries, or services need to be idempotent.
create UT's and/or test harnesses for these scenarios.
https://github.com/aws/aws-cdk
look into using decorators in code to execute CDK, similar to https://docs.nestjs.com/recipes/swagger.
this will help a lot with step function generation through code.
Race condition can happen where projection doesn't exist when dealing with event enrichment, since aggregates are managed within their own queues.
This scenario should be rare since the API consumer would have to issue updates without first doing reads.
Add https://github.com/mauricedb/polly-js to use wait/retry logic.
New logic needs to account for new record creation (skip fetching record)
since AWS SAM doesn't support step functions directly, i left this out of the project.
creating step functions in templates is a bit messy and creates hard to maintain code. see #12 which will make step function creation much cleaner.
not happy with current structure... see #14 which can dictate the new structure.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.