InnovaTech SOA is an omnichannel commerce platform built on strict Service-Oriented Architecture principles. It unifies physical point-of-sale (POS) operations and digital web storefronts into a single cohesive system — eliminating data silos by routing every request through a centralized API Gateway backed by independent, domain-isolated microservices.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Nelsoncg98/InnovaTech/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Run the full platform locally in minutes with Docker Compose and Maven.
Architecture Overview
Understand the SOA topology, service layers, and data flow patterns.
Services Reference
Explore every microservice — Gateway, Eureka, Catalog, Inventory, and POS.
API Reference
Browse all REST endpoints exposed through the API Gateway.
Platform at a Glance
InnovaTech SOA is organized into three architectural layers, each with a clear responsibility:Infrastructure Layer
PostgreSQL and MongoDB databases spun up via Docker Compose. Netflix Eureka provides service discovery.
Domain Services
Three entity services — Catalog (MongoDB), Inventory (PostgreSQL), and Customers — each owning its own data store.
Orchestration Layer
The POS Sales Orchestrator coordinates multi-service transactions using the SAGA pattern with logical rollback.
Key Features
Database-per-Service
Every microservice owns its database — no shared schemas, guaranteed domain isolation.
SAGA Transactions
The POS orchestrator implements compensating transactions to safely roll back failed sales.
Dual Frontend Clients
Separate React + Vite apps for the web storefront and in-store POS terminal.
Auto-generated Swagger UI
Every service exposes interactive API docs at
/swagger-ui.html via SpringDoc OpenAPI.Get Started
Start the infrastructure
Run
docker-compose up -d from the project root to launch PostgreSQL and MongoDB.Start supporting services
Launch the Eureka Server (
eureka-server/) and then the API Gateway (api-gateway/) using mvn spring-boot:run.Start domain services
Run each of
servicio-catalogo, servicio-inventario, and servicio-ventapos with mvn spring-boot:run.All backend traffic is routed through the API Gateway on port 8080. Your frontend apps should point to
http://localhost:8080 as their API base URL.