AutoParts Express es un sistema integral de gestión para tiendas de repuestos automotrices, desarrollado con Spring Boot 3.x y Thymeleaf. Incluye módulos completos para:
- Gestión de Repuestos - CRUD con Factory Method Pattern
- Gestión de Clientes - Registro y administración de clientes
- Gestión de Proveedores - Control de proveedores
- Sistema de Ventas - Ventas con Strategy y Decorator Patterns
- Reportes y Estadísticas - Análisis de datos
El proyecto implementa múltiples patrones de diseño:
- Factory Method - Creación dinámica de tipos de repuestos
- Strategy Pattern - Cálculo de descuentos por múltiples criterios
- Decorator Pattern - Servicios adicionales acumulables en ventas
- Singleton Pattern - Configuración centralizada
- Template Method - Operaciones reutilizables
- DAO Pattern - Acceso a datos con JPA
- Java 21
- Spring Boot 4
- Spring Data JPA
- Hibernate
- PostgreSQL
- Maven
- Thymeleaf
- Bootstrap 5
- Bootstrap Icons
- CSS3 personalizado
- JavaScript vanilla
- Jakarta Validation
- Lombok
src/main/
├── java/com/autoparts/
│ ├── config/ - Configuración (Singleton)
│ ├── controller/ - Controladores REST
│ ├── exception/ - Manejo de excepciones
│ ├── model/
│ │ ├── dto/ - Data Transfer Objects
│ │ ├── entity/ - Entidades JPA
│ │ └── enums/ - Enumeraciones
│ ├── patterns/
│ │ ├── decorator/ - Patrón Decorator
│ │ ├── factory/ - Patrón Factory Method
│ │ ├── singleton/ - Patrón Singleton
│ │ ├── strategy/ - Patrón Strategy
│ │ └── template/ - Patrón Template Method
│ ├── repository/ - Repositorios JPA
│ ├── service/ - Lógica de negocio
│ └── util/ - Utilidades
├── resources/
│ ├── static/
│ │ ├── css/ - Estilos CSS
│ │ ├── js/ - JavaScript
│ │ └── images/ - Imágenes
│ └── templates/ - Vistas Thymeleaf
└── test/ - Tests unitarios
- Tipos: Motor, Frenos, Eléctrico, Carrocería, Suspensión
- Características:
- Factory Method para crear tipos específicos
- Búsqueda y filtrado avanzado
- Gestión de stock
- Estadísticas por categoría
- Proceso: Cliente → Items → Servicios → Confirmar
- Características:
- Strategy Pattern para descuentos automáticos
- Decorator Pattern para servicios adicionales
- Cálculo de totales en tiempo real
- Búsqueda dinámica con autocompletado
- CRUD completo
- Tipos: Retail, Frequent, Workshop, Wholesale
- Búsqueda y filtrado
- CRUD con validaciones
- Asociación con repuestos
- Historial de compras
- PostgreSQL 12+
- Base de datos:
autoparts_db - Usuario:
postgres - Contraseña:
root
spring.datasource.url=jdbc:postgresql://localhost:5432/autoparts_db
spring.datasource.username=postgres
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=trueNota: Los datos se persisten entre reinicios (ddl-auto=update)
mvn clean compilemvn spring-boot:runURL: http://localhost:8081
- Inicio: Acceso a todos los módulos
- Repuestos: Gestión de catálogo
- Ventas: Sistema de ventas completo
- Clientes: Administración de clientes
- Proveedores: Control de proveedores
- ✅ CRUD completo con Factory Method
- ✅ 5 tipos diferentes de repuestos
- ✅ Búsqueda multi-criterio
- ✅ Gestión de stock
- ✅ Estadísticas por categoría
- ✅ Proceso multi-paso simplificado (una pantalla)
- ✅ Descuentos automáticos (Strategy Pattern)
- ✅ Servicios adicionales acumulables (Decorator Pattern)
- ✅ Carrito de compras dinámico
- ✅ Búsqueda con autocompletado
- ✅ Cálculo de totales en tiempo real
- ✅ Código único de repuestos
- ✅ Stock nunca negativo
- ✅ Precios válidos
- ✅ Cliente activo requerido
- ✅ Stock suficiente en venta
- ✅ Bootstrap 5 responsivo
- ✅ Navegación intuitiva
- ✅ Mensajes de éxito/error
- ✅ Validaciones en tiempo real
- ✅ Diseño moderno y profesional
- Primario: #667eea (Azul Indigo)
- Secundario: #764ba2 (Púrpura)
- Éxito: #10b981 (Verde)
- Peligro: #ef4444 (Rojo)
- Info: #3b82f6 (Azul)
- Cards con efectos hover
- Tablas responsivas
- Botones con transiciones
- Formularios validados
- Alertas de usuario
# Ejecutar tests
mvn test
# Generar reporte de cobertura
mvn jacoco:report-
Factory Method (AutoParts)
- Crea diferentes tipos de repuestos dinámicamente
- Extensible para nuevos tipos
-
Strategy Pattern (Ventas - Descuentos)
- Múltiples estrategias de descuento
- Elige automáticamente la mejor
- No acumulables
-
Decorator Pattern (Ventas - Servicios)
- Servicios adicionales acumulables
- Composición sobre herencia
- Escalable
-
Singleton Pattern (Configuración)
- Thread-safe
- Acceso global a configuraciones
- Validación en múltiples niveles
- Sanitización de entrada
- Manejo centralizado de excepciones
- Transaccionalidad ACID en BD
Para más información sobre:
- Arquitectura: Ver comentarios en clases Java
- DTOs: Ver
model/dto/ - Patrones: Ver
patterns/ - Vistas: Ver
templates/
Sistema desarrollado como proyecto final para demonstrar dominio de:
- Spring Boot
- Patrones de Diseño
- JPA/Hibernate
- Thymeleaf
- Bootstrap
- JavaScript vanilla
Este proyecto es de uso educativo.
Última actualización: Diciembre 2025