Diagram of a movies service and a ticketing service connected through a message broker, with a backoffice client

Howestprime

Distributed cinema booking platform built as an integration project at Howest. Covers the full stack, two microservices, a backoffice client, containerized environments, and a cloud infrastructure on Azure provisioned with Terraform and deployed through GitHub Actions pipelines.

Technologies

  • C#
  • .NET 10
  • Blazor
  • TypeScript
  • Deno
  • PostgreSQL
  • MongoDB
  • AMQP
  • Docker
  • Docker Compose
  • Microsoft Azure
  • Terraform
  • GitHub Actions
  • Microservices
  • Clean Architecture
  • DDD

Components

Microservices

.NET 10 · PostgreSQL · Deno · TypeScript · MongoDB

  • Movies: REST API for the catalog, event scheduling and seat booking, built with Clean Architecture and DDD
  • Ticketing: the order flow, from ticket generation and customer enrichment to payment and ticket release
  • Movies publishes domain events to a message broker, and Ticketing reacts to them with application-layer policies

Backoffice

.NET · Blazor · Server-side rendering

  • Register movies and schedule events

Infrastructure

Docker · Azure · Terraform · GitHub Actions

  • Local environment running every service in Docker Compose, with health checks
  • Azure provisioned with Terraform: Container Apps, PostgreSQL Flexible Server, Cosmos DB, Container Registry, Key Vault and CloudAMQP
  • Secrets injected at runtime through managed identities
  • Pipelines run unit tests and coverage checks, build Docker images and deploy to Azure without manual steps