A microservices powered e-commerce shopping cart sample - based on SOA principles. Demos and sample for my "All our Aggregates are Wrong" talk
A microservices-powered e-commerce shopping cart sample based on SOA principles. These are the demos for my All our Aggregates are Wrong talk.
The demo demonstrates a shopping cart behavior and all its implemented functionalities. Add items to the cart and observe the various "services" console windows, which display log messages related to the ongoing processes. Leave the cart inactive for a few seconds and observe the stale cart policy kick in, first raising a warning and finally deleting stale carts.
The following requirements must be met to run the demos successfully:
devcontainer
setup requires docker-compose
to be installed on the machine.c:\dev
, to avoid any "path too long" errorF1
on all supported operating systems, for more information on VS Code keyboard shortcuts, refer to this page)Reopen in Container
, the command palette supports auto-completion; the command should be available by typing reop
Wait for Visual Studio Code Dev containers extension to:
Note: no changes will be made to your Visual Studio Code installation; all changes will be applied to the VS Code instance running in the remote container
The repository devcontainer
configuration will create:
ms-dotnettools.csharp
)ckolkman.vscode-postgres
)Once the configuration is completed, VS Code will show a new Ports
tab in the bottom-docked terminal area. The Ports
tab will list all the ports the remote containers expose.
The default RabbitMQ credentials are:
guest
guest
The default PostgreSQL credentials are:
db_user
P@ssw0rd
To execute the demo, open the root folder in VS Code, press F1
, and search for Reopen in container
. Wait for the Dev Container to complete the setup process.
Once the demo content has been reopened in the dev container:
F1
, search for Run task
, and execute the desired task to build the solution or to build the solution and deploy the required dataRun and Debug
VS Code section and select the command you want to execute.This demo is built using NServiceBus Sagas; I work for Particular Software, the makers of NServiceBus.