School search platform for expat families in Spain. Helps parents find, compare, and choose the right school based on language, curriculum, location, and budget.
Modular monolith + Go microservice. Laravel handles the web layer and API, while the Go service runs resource-intensive data enrichment. Both share a single PostgreSQL database and deploy independently.
Services, DTOs, enums, value objects, contract interfaces
13 domain events, 14 listeners — async side-effects via queues
4-stage enrichment pipeline in Go with idempotent jobs
HasSeo trait — attach meta to any model with Schema.org JSON-LD
Public: Blade + Alpine.js, Dashboard: full Inertia SPA
cmd → internal → pkg, custom error types, structured logging
Standalone Go microservice that enriches school data through a 4-stage pipeline. Each job is idempotent with precondition checks and safe retries.