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¶
- Microservices - Loosely coupled, independently deployable services
- API-First - RESTful APIs with GraphQL for complex queries
- Event-Driven - Asynchronous communication via message queues
- Containerized - Docker-based deployment for consistency
- 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)