AVISO: TODO ESTE POST FUE CREADO POR CLAUDE (EN BASE AL REPO Y MIS INDICACIONES) Y LAS IMÁGENES CREADAS POR GEMINI
Introducción
Hace poco me propuse un desafío: construir una API REST completa para gestionar cómics. La idea era simple, pero el camino de desarrollo fue bastante enriquecedor. En este artículo te cuento cómo pasé de una idea inicial a una API robusta utilizando diferentes herramientas de IA.
Primera etapa: Los inicios con ChatGPT y mis conocimientos
Comencé con lo que ya sabía sobre Spring Boot, MongoDB y arquitectura REST. Pero para acelerar el proceso y validar conceptos, decidí usar ChatGPT como asistente inicial.
Con su ayuda generé:
- Estructura base del proyecto
- Modelos de entidades (Comic, User)
- Endpoints CRUD básicos
- Configuración inicial de Spring Boot
El resultado fue funcional, pero tenía algunas limitaciones en la arquitectura, manejo de errores y optimizaciones.
Segunda etapa: Revisión y mejora con Claude
Aquí es donde las cosas mejoraron significativamente. Llevé el código a Claude para una revisión exhaustiva, y las mejoras fueron sustanciales:
✅ Mejor estructura de capas: Separación clara entre controllers, services, repositories
✅ Manejo robusto de errores: Excepciones personalizadas y respuestas consistentes
✅ Validaciones mejoradas: Lógica de negocio más sólida (como la validación compuesta title + number)
✅ Documentación con Swagger: OpenAPI completo para la API
✅ Seguridad: Integración de Spring Security preparada
✅ Patrones de diseño: DTOs, Mappers, y buenas prácticas

¿Qué hace la Comics API?
Es una API REST completa para gestionar una biblioteca de cómics. Permite:
📚 Gestión de Cómics:
- Crear nuevos cómics (con validación de título + número único)
- Buscar cómics por título (búsqueda case-insensitive)
- Obtener información detallada de cada cómic
- Actualizar datos de cómics
- Eliminar cómics
👥 Gestión de Usuarios:
- Registro e inicio de sesión
- Perfil de usuario
- Control de acceso
Componentes técnicos
Tecnologías principales:
- Backend: Spring Boot 3.5.10
- Base de datos: MongoDB
- Autenticación: Spring Security + JWT (preparado)
- Documentación: Swagger/OpenAPI 3.0
- Lenguaje: Java 17+
- Build Tool: Maven
Estructura del proyecto:
comics-api/
├── controllers/ → Endpoints REST
├── services/ → Lógica de negocio
├── repository/ → Acceso a datos
├── models/ → Entidades de BD
├── dto/ → Data Transfer Objects
├── exceptions/ → Excepciones personalizadas
├── mappers/ → Conversión de entidades
└── config/ → Configuración general

Características destacadas
🔍 Búsqueda inteligente
Busca cómics por título de forma flexible:
- Case-insensitive
- Búsqueda parcial
- Resultados paginados
✔️ Validaciones robustas
- Previene duplicados (mismo título + número)
- Valida entrada de datos
- Mensajes de error claros y descriptivos
📊 Respuestas consistentes
Todas las respuestas siguen un formato estándar:
{
"success": true,
"data": {...},
"message": "Operación completada",
"timestamp": "2026-06-12T10:30:00Z"
}
🛡️ Seguridad
- Prepared statements en queries
- Validación en todos los endpoints
- Spring Security integrado
Lecciones aprendidas
✨ ChatGPT es excelente para generar código inicial y estructuras, pero necesita revisión.
✨ Claude brilló en la revisión profunda, optimizaciones de arquitectura y mejores prácticas.
✨ Combinar conocimiento propio + IA es la fórmula ganadora.
Acceso al repositorio
El código está disponible en https://github.com/entorno5/comics-backend. Te invito a explorar, forkear y mejorar el proyecto.
Instalación y configuración
Requisitos previos:
- Java 17+
- Maven 3.8+
- MongoDB instalado localmente o en tu servidor
Configurar tu instancia de MongoDB
El proyecto está preconfigurado para conectarse a MongoDB. Si quieres usar tu propia instancia, solo necesitas modificar el archivo application.properties:
# application.properties
spring.data.mongodb.uri=mongodb://tu-usuario:tu-contraseña@tu-servidor:27017/nombre-base-datos
Ejemplos de configuración:
# MongoDB local (por defecto)
spring.data.mongodb.uri=mongodb://localhost:27017/comics
# MongoDB en servidor remoto
spring.data.mongodb.uri=mongodb://192.168.0.20:27017/testComics
# MongoDB con autenticación
spring.data.mongodb.uri=mongodb://user:password@mongodb.example.com:27017/comics
# MongoDB Atlas (cloud)
spring.data.mongodb.uri=mongodb+srv://user:password@cluster.mongodb.net/comics
Ejecutar la aplicación
# Clonar el repositorio
git clone https://github.com/tu-usuario/comics-api.git
cd comics-api
# Compilar
mvn clean install
# Ejecutar
mvn spring-boot:run
# O ejecutar directamente el JAR
java -jar target/comics-api.jar
La API estará disponible en: http://localhost:8080
Documentación interactiva: http://localhost:8080/swagger-ui.html
Conclusión
Este proyecto es un ejemplo perfecto de cómo las herramientas de IA pueden potenciar el desarrollo, pero el criterio, la arquitectura y la mejora continua siguen siendo responsabilidad del desarrollador.
¿Has utilizado IA en tus proyectos? Me encantaría escuchar tu experiencia en los comentarios.
