Skip to content

Tilmenk/microservices

Repository files navigation

Technologie Technologie Technologie

Technologie Technologie Technologie

Technologie Technologie Technologie

KBE - Microservices

description

This SpringBoot + Maven Project consists of a 5 different Microservices.
It uses Java 17.

Microservices

  1. team-service
    1. This service loads Pokemon and default teams from the warehouse
    2. It also saves teams created by users and fetches Pokemon Image urls from a third party API
    3. This service also organize costs and currency assembling for responses to the api-gateway
    4. This service has an own instance of a PostgreSQL db to save Pokemon and Teams ( costs and ** currencies** aren't persisted )
    5. Is connected to api-gateway through RabbitMQ
  2. costs-service
    1. Calculates costs for Pokemon and Teams of Pokemon
    2. Is connected to team-service through RabbitMQ
  3. currency-service
    1. Calculates given costs into 3 different currencies ( Euro, Dollar, Bitcoin )
    2. Is connected to team-service through RabbitMQ
  4. identity-service
    1. This service has an own PostgreSQL instance to save Users and Roles for the Backend
    2. It's connected to the api-gateway through HTTP
  5. api-gateway
    1. This is the (only) entrance point for the Webclient to talk to the backend
    2. Is connected to the team-service through RabbitMQ
    3. Documented through Swagger - click to see exposed HTTP paths

Building the project

  1. You can build and start the project with docker-compose by running docker-compose up in the rootdir.
    1. Every sub-repo has its own Dockefile so you can also run every maven module on its own with docker build ./service
  2. For developing you can also use the intellij run-configurations as long as you're hosting a postgresqlDB with a db called team-service and identity-service.
    You also need to have redis running on your local host as well as rabbitMQ.

Deploying the project

For hosting we're using a Digital Ocean droplet running Ubuntu 20.04 LTS. You have to ssh into the Machine run git pull and build the changed components via docker-compose.
The Droplet is accessible under this address: 128.199.35.167

API docs

Swagger - click to see exposed HTTP paths

Postgressql access

Pgdata

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published