Skip to content

Architecture Documentation

Complete architecture documentation for the Portugal Odyssey platform.

Overview

The Portugal Odyssey platform is a microservice-based system built to power a tourism marketplace. This section provides technical context for understanding the architecture, service responsibilities, and workflows.

Documentation Structure

System Overview

High-level architecture and system design.

Service Architecture

Detailed microservices architecture and service interactions.

Data Flow

Data flow diagrams and patterns.

Messaging

RabbitMQ and event-driven architecture patterns.

Notifications

Real-time notification pipeline (RabbitMQ → notification-service → Socket.IO → consoles).

Partner-onboarding-gated work

Why #200 / #191 / #226 are parked on the partner-onboarding milestone (the revenue-attribution dependency chain).

Architecture Principles

  1. Microservices - Loosely coupled, independently deployable services
  2. API-First - RESTful APIs with GraphQL for complex queries
  3. Event-Driven - Asynchronous communication via message queues
  4. Containerized - Docker-based deployment for consistency
  5. Observable - Comprehensive logging and monitoring

Key Components

Frontend Layer

  • React-based applications
  • Public-facing customer app
  • Admin backoffice
  • Partner console

API Layer

  • API Gateway (routing and authentication)
  • Microservices (domain-specific APIs)
  • GraphQL endpoints (complex queries)

Infrastructure Layer

  • PostgreSQL (data persistence)
  • Redis (caching and sessions)
  • RabbitMQ (message queue)
  • Elasticsearch (search)
  • Traefik (reverse proxy)

See Also