Ulmexa Project Architecture
The Ulmexa platform is built with a focus on scalability, automation, and modularity. It leverages modern technologies such as OpenStack, Kubernetes, and microservices to deliver a robust Digital Marketing as a Service (DMaaS) solution.
π§ Core Infrastructureβ
Ulmexa is deployed on a private cloud infrastructure built with:
- OpenStack: Handles compute, networking, and storage resources.
- Kubernetes: Orchestrates containerized microservices and ensures high availability.
- Docker: Containers are used for all microservices (e.g., mailing, user management).
- Keycloak: Manages user identity and access control.
- RabbitMQ: Message queuing system for asynchronous processing.
- Mailcow: Email server used for managing domains and mailboxes.
- Prometheus + Grafana: For monitoring and alerting.
Architecture Overview
Ulmexa is built using a monolithic 3-tier architecture to deliver a robust and scalable marketing automation platform. The architecture is designed to streamline development and deployment while ensuring maintainability and performance.
π Architectural Layersβ
1. Presentation Layer (Frontend)β
- Built with Angular
- Provides dashboards for:
- Users (to manage projects, campaigns, clients)
- Admins (to oversee the platform, subscriptions, invoices)
- Communicates with the backend via secured RESTful APIs
2. Application Layer (Backend)β
- Built with Spring Boot
- Handles:
- Business logic for campaign creation, scheduling, and reporting
- Domain and mailbox management
- Subscription and billing logic
- Team and client collaboration
- Integrates with external services:
- Mailcow (for mail infrastructure)
- RabbitMQ (for asynchronous email processing)
- Keycloak (for authentication and role management)
- OpenStack (for provisioning user-specific infrastructure)
3. Data Layer (Persistence)β
- Stores persistent data using:
- PostgreSQL (for application and user data)
- Prometheus & Grafana (for monitoring metrics)
- Object storage (for logos, images, campaign assets)
πΊοΈ Deployment Environmentβ
- Deployed on OpenStack, using a private cloud environment
- Packaged and orchestrated with Docker and Kubernetes
- Hosted services include:
- Internal APIs
- Database cluster
- Mail server (Mailcow)
- Monitoring stack
πΌοΈ Architecture Diagramβ

π Data Storageβ
- PostgreSQL: Relational data store for platform services.
πΊοΈ System Architecture Diagramβ

The architecture is designed to support multiple tenants, isolate user workloads, and enable future AI/ML integration.
π Network Flowβ
- Users access the frontend (Angular) through the reverse proxy (e.g., Nginx).
- The frontend communicates with the backend API (Spring Boot).
- The backend communicates with infrastructure services and external APIs (Mailcow, Keycloak).
- Campaign emails are queued in RabbitMQ and processed by a background worker.
- All activity is logged and monitored through Prometheus and Grafana.