Running the Application

  1. Open a Powershell or Terminal window

  2. Navigate to the c:\work folder

  3. Create a git folder called git if it does not already exist

    mkdir git
  4. navigate into the git folder

  5. Clone the application down to your machine from https://github.com/dotnet-architecture/eShopOnWeb.git

  6. Navigate into the repo you have just coned down

  7. If Docker is not running, start it from the Windows start menu

  8. Run docker-compose on the project docker-compose up

  9. Observe the data being logged into the console window

  10. The application should be reachable at https://localhost:5001/. Visit this location for more information. Play around with the application so that you get an appreciation for it’s current behaviour

Reverse Engineering the Codebase

  1. You should still be in the repo you just cloned down, if not navigate into it

  2. Type the command code . the full stop is important

  3. Locate the docker-compose.yml file, double click to open it

  4. Examine the file, you should see that it defines 3 services, make note of them, and how you think they relate to each other

  5. Use the File Explorer from within VSC, and expand the src/ApplicationCore and src/Infrastructure folders. You will have to drill down further on each folder, but you should find there are components in there that match the ideas you learnt in 03 Domain Driven Design

  6. The application uses RPC for its middleware, so you will not find any MOM technology in there

  7. What concepts have been implemented in the code?

Understanding the Data

  1. You will need to set up a data source in the Windows ODBC manager before you can connect the DB Server, see this howto

  2. Once your database connection is set up, examine the data structures that they are using

  3. What stands out about the design?

Event Storming

The activities above will take you 60-90 minutes to conclude.

In your teams with your collective understanding, use event storming to capture the current state of the eShopWeb application.

Presentation

Be prepared to present everything you discovered to your trainer and any SME from within your organisation.