Core Concepts
Use commands, events, and queries to build your application.
Event-Driven Cloud Framework
Build event-driven applications in the cloud.
We will build the core with events, commands and queries.
There will be a router in the core itself. The router returns an Either<Exception, ResultObject>.
The router can be used to build adapters for different frameworks or interfaces. For example Express or Fastify to handle HTTP requests. Or the AWS Lambda invoked by APIGateway etc.
There should be other I/O adapters for databases, queues, etc.
All adapters will be part of specific packages (AWS, MongoDB etc.).
This framework should do most of the heavy lifting to build the imperative shell around the pure core.
For logging we will use pino.