Overview
About the project
A sophisticated Laravel 12-based event-driven HR platform composed of two microservices (HubService and HR Service) that handles employee lifecycle management across multiple countries. The system uses RabbitMQ for asynchronous event streaming, Redis for intelligent caching and projections, WebSockets (Soketi) for real-time updates, and PostgreSQL for data persistence. Demonstrates advanced architectural patterns including domain-driven design, event sourcing, and server-driven UI APIs.
Engineering
Challenges & solutions
Challenges
- 01Implementing event-driven architecture across multiple services with reliable message delivery
- 02Managing country-specific business logic and routing (USA vs Germany checklists)
- 03Real-time synchronization of checklist projections across distributed components
- 04Cache invalidation and projection consistency with high-frequency events
- 05Docker Compose orchestration of 6+ interconnected services
- 06Asynchronous testing of event-driven workflows with RabbitMQ consumers
Solutions
- 01Topic exchange in RabbitMQ with per-country routing keys for scalable event distribution
- 02Redis cache-aside pattern with targeted invalidation for checklist projections
- 03Laravel event consumers with bounded retries and DLQ (Dead Letter Queue) for fault tolerance
- 04Domain-driven design separating HR service (writes) from Hub service (reads/projections)
- 05Dockerized stack with health checks and automatic service discovery
- 06Comprehensive test suite with Pest covering API resources and manual WebSocket demos
- 07Server-driven UI APIs that allow dynamic schema updates without frontend deployment
Tech Stack
Laravel 12PHP 8.4RabbitMQRedisPostgreSQLSoketi (WebSockets)Docker / Docker ComposePest (Testing)Laravel Pint (Code Formatting)Larastan/PHPStan (Static Analysis)NginxDDD (Domain-Driven Design)
Project Info
- Category
- Laravel
- Tag
- Docker
- Tag
- PostgreSQL
- Tag
- Tailwind CSS
- Tag
- PHP
Links
