Microservice architecture - SuQuoc/ft_transcendence GitHub Wiki

Services

The project is seperated into 3 micro services, with each having its own database. Across all the databases the user is identified with uuid.

  • Registration
  • User-Management
  • Game

Registration

Handles the signup, login and authentication. Responsable for creating the JWT, which will be checked to use the other microservices.

User-Management

Handles the users profile information like displayname, avatar picture, friends and online status.

Game

Hanldes the pong game logic, matchmaking- and tournament-system. Provides game statistics.

Sources

General microservice structure to read up on: https://microservices.io/patterns/data/database-per-service.html

Article about django auth with JWT and validation between microservices: https://medium.com/@brunobarreto_24050/an-authentication-pattern-for-microservices-using-django-f19223fc0f4e

Authorization in microservice architecture: https://www.osohq.com/post/microservices-authorization-patterns