Skip to main content

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.

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.

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

1

Start the infrastructure

Run docker-compose up -d from the project root to launch PostgreSQL and MongoDB.
2

Start supporting services

Launch the Eureka Server (eureka-server/) and then the API Gateway (api-gateway/) using mvn spring-boot:run.
3

Start domain services

Run each of servicio-catalogo, servicio-inventario, and servicio-ventapos with mvn spring-boot:run.
4

Launch the frontend

From frontend-web/ or frontend-pos/, run npm install && npm run dev to start the React app.
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.

Build docs developers (and LLMs) love