T2-Project Documentation

Introduction

The T2-Project is a reference application provided in two variants:

The project is loosely based on the TeaStore Application.

Initially, we only implemented the application in the microservices architecture style and called it T2-Project. Later, we added a monolithic variant for comparison.
The monolith retains the modular structure, therefore we call it T2-Modulith.
In order to distinguish the individual variants and the overall project linguistically, we now use the term T2-Project to refer to the overall project, including both variants, and call the initial microservices implementation T2-Microservices.

The initial main purpose of the T2-Project reference application was to trigger SLO violations with regard to response time and availability (see Microservices Usage for more information). The purpose of the T2-Modulith is to compare a microservices application with a modulith application, mainly in regards of energy efficiency (see Energy Measurements for more information).

Source Code

The T2-Project is organized under the GitHub organization t2-project in multiple repositories.

The source code of this documentation is stored in the repository Documentation.

Modulith implementation

Microservices implementation

A convenience repo including all microservices exists so that not every repo needs to be downloaded separately: https://github.com/t2-project/t2-project.

These repositories contain the core services of the T2-Project:

These repositories contain the supplemental services:

This repository contains shared domain classes. It is a dependency to all other services:

This repository contains some DevOps configuration files, e.g. for the deployment of the T2-Project on Kubernetes or Docker: