NodeJS + Typescript + Dependency Injection + inversion of control + SOLID + VSA

This is an example of an app is demonstrating how we can invoke a lambda function which will recieve a user and a city, and based on the user and that city will get the weather for that city.
After that will store that information in DynamoDB (used for caching). On the next request if the user is the same the API call will not occur, but instead a DB call simulating a Cache Hit.

Please check it here:

https://github.com/gds03/Typescript/tree/main/Lambda-Node-First

this is how I think is really handy to organize projects, in a VSA architecture. You have high cohesion and make things very simple.

This is the handler of the lambda, you see the features it provides, the infrastucture holds all the pilars of the "house" and we don't DRY this way.