Skip to content
/ tmt Public

The Maroon Theory -- TMT (Example app developed with Spring Boot for CAS 735)

License

Notifications You must be signed in to change notification settings

ace-design/tmt

Repository files navigation

TMT: The Maroon Theory

  • Authors: Sébastien Mosser, Chris Schankula
  • Version: 2024.09

Abstract

This repository is the companion app for CAS 735 - (Micro-)Service Oriented Architecture, a graduate course offered by the Computing And Software department at the Faculty of Engineering of McMaster University.

Overall Description

  • infrastructure: contains the technical services used to support the TMT system:
    • message_broker: A RabbitMQ server to support event-driven architectures using MQTT and AMQP protocols.
    • service_registry: An Eureka server (Netflix) to support service discovery
  • services: The business services used to support TMT business
    • hrm_receiver: service to receive data sent by HRM and inject then into the TMT system
  • clients: External (non-service-based artefacts) consuming the TMT services
    • hrm_client: a simulator pretending being an HRM watch sending data to the hrm_receiver deployed in a studio

Services location

If you're on a Mac, you might encounter issues using localhost (it might take some time to be available, or be blocked once and foor all). You can always refer to the direct IP address of localhost (127.0.0.1) to bypass this situation.

How to operate?

Compiling the micro-services

tmt $ mvn clean package

Building the turn-key services

tmt $ cd deployment
deployment $ docker compose build --no-cache

Starting the complete system

deployment $ docker compose up -d

Shutting down the system

deployment $ docker compose down

Course Editions

Access to lecture material for McMaster students on Avenue2Learn:

About

The Maroon Theory -- TMT (Example app developed with Spring Boot for CAS 735)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published