Skip to content

AndreaBrighi/Cooperative-Pixel-Art-CQRS-pattern-Event-Driven-Microservices

Repository files navigation

Cooperative-Pixel-Art-CQRS-pattern-Event-Driven-Microservices

Assignment #6 - 20231124 - Event-Driven Microservices (Software Architecture and Platforms - a.y. 2023-2024)

  • Description: The objective of the assignment is to see in practice the design and development of event-driven microservices, including the application of patterns such as Event Sourcing and CQRS. To this purpose:
    • Consider the Cooperative Pixel Art example (Lab-07-20231027). Implement an event-driven version composed by three services:
      • a simple API Gateway, that provides a REST API to Cooperative Pixel Art clients
      • a PixelGrid microservice, featuring an event-driven architecture
        • interacting with the API Gateway through event streams
        • exploiting Event Sourcing pattern for persistence
        • exploiting CQRS pattern to work with Dashboad/View microservice
      • a DashboardView microservice, that allows for querying/observing any PixelGrid
        • exploiting CQRS pattern, as a view aggregating events coming from PixelGrids
    • Further details
      • there could be multiple PixelGrids active at the same time, on different nodes, so that the API Gateway may need to interact with multiple PixelGrid microservices
        • every PixeGrid has its own unique name
      • there is only one DashboardView microservice
      • user client app interacts only with the API Gateway
        • a user can work on one or multiple pixel grids and can observe one or multiple pixel grids