Metalmechanic ERP & E-Commerce Solution.
Plataforma integral desarrollada con Spring Boot y Java 17.
Ver Demo
·
Funcionalidades
·
Instalación
Inversiones Lázaro es una web empresarial ("Metalmecánica ERP") robusta y escalable. Construida bajo una arquitectura monolítica modular con Spring Boot, el sistema unifica la venta comercial con la gestión operativa.
La aplicación funciona como un híbrido: por un lado, un E-commerce B2C moderno con cotizador paramétrico en tiempo real; por otro, un Back-Office Administrativo para controlar inventarios, logística de despacho, finanzas y contenido web (CMS), optimizando el flujo de trabajo de la empresa metalmecánica.
- Cotizador Paramétrico: Algoritmo personalizado que calcula precios de productos a medida (ej. hornos, cajas chinas) basándose en dimensiones (Alto x Ancho x Largo), materiales y mano de obra.
- Carrito Persistente: Gestión de pedidos en sesión y base de datos con flujo de checkout optimizado.
- Pasarela de Pagos: Integración segura con Stripe para procesamiento de tarjetas de crédito/débito.
- Validación de Identidad: Conexión con API externa (APIPeruDev) para autocompletado de datos DNI/RUC en tiempo real.
- Logística y Despacho: Módulo completo para gestión de almacenes, registro de choferes/unidades y asignación de rutas de entrega.
- Dashboard Financiero: Métricas visuales de ingresos, productos más vendidos y estados de pedidos.
- CMS Integrado: Editor visual para modificar banners, textos y secciones del Home sin intervención de código.
- Reportes y Auditoría: Generación automática de documentos PDF/Excel (OpenPDF, Apache POI) y registro inmutable de acciones de usuarios.
El proyecto sigue el patrón MVC (Modelo-Vista-Controlador) con una separación clara de responsabilidades, utilizando Thymeleaf con Layout Dialect para la reutilización de componentes de UI.
- Seguridad: Implementación de Spring Security 6 con roles granulares (ADMIN, CLIENTE, LOGISTICA) y protección CSRF.
- Persistencia: Capa de datos gestionada con Spring Data JPA y Hibernate.
| Componente | Tecnología | Descripción |
|---|---|---|
| Backend | Java 17 / Spring Boot 3.5.5 | Núcleo de la lógica de negocio y seguridad. |
| Database | MySQL 8 | Relacional, con scripts de inicialización y migración automática. |
| Frontend | Thymeleaf + Bootstrap 5 | Renderizado en servidor (SSR) responsive. |
| Pagos | Stripe Java SDK | Procesamiento transaccional seguro. |
| Reportes | Apache POI / OpenPDF | Generación de documentos administrativos. |
Sigue estos pasos para ejecutar el proyecto en tu entorno local.
- Java JDK 17
- Maven 3.8+
- MySQL Server
-
Clonar el repositorio
git clone [https://github.com/uwiloper/invlazaro-webapp.git](https://github.com/uwiloper/invlazaro-webapp.git)
-
Configuración de Base de Datos Crea el esquema vacío en MySQL. Spring Boot creará las tablas automáticamente al iniciar.
CREATE DATABASE inversioneslazaro;
(Opcional: Carga los scripts de la carpeta
/databaseSQLpara datos de prueba). -
Configuración de Variables Edita
src/main/resources/application.propertiescon tus credenciales o usa variables de entorno:spring.datasource.username=root spring.datasource.password=tu_password stripe.secret.key=sk_test_... api.perudev.token=tu_token
-
Ejecutar Usa el wrapper de Maven incluido:
./mvnw spring-boot:run
Accede a:
http://localhost:8080
Proyecto desarrollado de manera grupal en Isil
