Skip to main content

Project Structure

This pages shows the project structure and describes what files to find where. The project consists of the following files

root [ ./ ]

This is the root folder of the project. You can find all folders listed below here. Besides those folders, the following files are stored in the root folder.

  • .gitignore File that tells git what to ignore.
  • README.md Readme documentation file.
  • stryker-config.json Configuration file for stryker.

GitHub config files [ ./.github ]

The GitHub folder currently contains only workflow files. These files describe CI/CD jobs to be run, what to run and when to do it.

VSCode config files [ ./.vscode ]

The VSCode folder contains two files:

  • tasks.json

    Specifies VSCode tasks for the project. Tasks such as 'test', 'build' and 'watch'.

  • launch.json

    Contains the settings to use the VSCode debugger.

Kubernetes manifests [ ./manifests ]

This folder contains all kubernetes manifests.

Scripts [ ./scripts ]

This folder contains scripts for the demo-project. Currently this folder contains two subfolders and a script.

  • simulate_api_calls.sh

    This script can be used to run a specified (default 500) number of POST requests on the API to use for testing purposes.

docker [ ./scripts/docker ]

  • build-prodtest-images.sh

    Script to build the docker images of the Kitchen- and OrderService.

kubernetes [ ./scripts/kubernetes ]

  • cleanup.sh

    This script deletes all resources that are applied by the script above.

  • pfw-rabbitmq.sh

    Script to open up the RabbitMQ dashboard on localhost:15672

  • setup-infra.sh

    Sets up the infrastructure components of the project in kubernetes cluster. Things like the proxy, database and RabbitMQ instance.

  • setup-darklaunch.sh

    This script applies all resources needed for the dark launch to a default kubernetes cluster.

Source code [ ./src ]

This folder contains all source code for the ProdtestDemo project. It contains the following subfolders:

Common

This folder contains the code for shared resources for all services in the repository.

Services

This folder contains the code for all services of the demo project. The subfolders are:

Kitchen

Contains the projects for the KitchenService: the KitchenService itself and the tests for the KitchenService.

Order

Contains the projects for the OrderService: the Order API and the tests therefore.