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.

The Catalog Service is the product data authority for the InnovaTech platform. It stores and serves product definitions and pricing information using MongoDB as its document store, which allows flexible, schema-free product records that can evolve without database migrations. The service exposes a REST API and automatically generates interactive OpenAPI documentation using SpringDoc, so developers can explore and test every endpoint directly from the browser without any additional tooling.

Overview

servicio-catalogo is a domain entity service — it owns product and pricing data and is not responsible for orchestrating calls to other services. It runs on port 8084 and uses Spring Boot 3.2.4 with Spring Data MongoDB for persistence. SpringDoc OpenAPI (springdoc-openapi-starter-webmvc-ui 2.3.0) is included as a direct dependency and auto-generates a Swagger UI at startup by scanning the controller classes.

Port

8084 — direct service address

Database

MongoDB — innovatech_catalogo

Spring Boot

3.2.4 / Java 17

API Docs

Swagger UI auto-generated at /swagger-ui.html

Database Connection

The service connects to a MongoDB instance using the URI defined in application.yml. Authentication is handled via the authSource=admin parameter, which directs the driver to validate credentials against MongoDB’s built-in admin database.
server:
  port: 8084

spring:
  application:
    name: servicio-catalogo
  data:
    mongodb:
      uri: mongodb://admin:secretpassword@localhost:27017/innovatech_catalogo?authSource=admin

# Configuracion de Swagger para que Luis pueda probar su API localmente
springdoc:
  api-docs:
    path: /api-docs
  swagger-ui:
    path: /swagger-ui.html
PropertyValueDescription
server.port8084Port the service listens on
spring.application.nameservicio-catalogoApplication name used in logs
spring.data.mongodb.urimongodb://admin:secretpassword@localhost:27017/innovatech_catalogo?authSource=adminFull MongoDB connection URI including credentials, host, and target database
springdoc.api-docs.path/api-docsPath where the raw OpenAPI JSON spec is served
springdoc.swagger-ui.path/swagger-ui.htmlPath where the interactive Swagger UI is served

API Documentation

SpringDoc scans the service’s REST controllers at startup and generates a full OpenAPI 3.0 specification automatically. Two endpoints are available once the service is running:
URLDescription
http://localhost:8084/swagger-ui.htmlInteractive Swagger UI — browse endpoints, view request/response schemas, and execute live calls
http://localhost:8084/api-docsRaw OpenAPI JSON specification — can be imported into Postman or other API tools
Use the Swagger UI at http://localhost:8084/swagger-ui.html to explore and test catalog endpoints interactively without writing any client code. The UI lets you fill in path parameters and request bodies through a browser form, fire the request, and inspect the full HTTP response — ideal for rapid development and manual testing.

Dependencies

DependencyVersionPurpose
spring-boot-starter-webmanaged by Boot 3.2.4Exposes REST endpoints via Spring MVC
spring-boot-starter-data-mongodbmanaged by Boot 3.2.4Spring Data repositories backed by MongoDB
springdoc-openapi-starter-webmvc-ui2.3.0Auto-generates OpenAPI spec and Swagger UI
lombokmanaged by Boot 3.2.4Eliminates boilerplate getters, setters, and constructors via annotations
spring-boot-starter-testmanaged (test scope)JUnit 5, Mockito, and Spring Test utilities

Running the Service

Start the Catalog Service from its directory using the Maven wrapper:
cd servicio-catalogo
mvn spring-boot:run
The service is ready when the log shows the Tomcat connector started on port 8084. Swagger UI will be immediately accessible at http://localhost:8084/swagger-ui.html.
The Catalog Service is accessed by frontend clients through the API Gateway, not directly. All catalog requests should target the gateway at http://localhost:8080/api/v1/catalogo/**, which forwards them to this service on port 8084. Direct access to port 8084 is intended for local development and testing only.

Build docs developers (and LLMs) love