Skip to content

Uwiloper/InvLazaro-WebApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner Inversiones Lázaro

Inversiones Lázaro - Web Platform

Metalmechanic ERP & E-Commerce Solution.
Plataforma integral desarrollada con Spring Boot y Java 17.

Ver Demo · Funcionalidades · Instalación

Java 17 Spring Boot MySQL Thymeleaf Bootstrap


Vistas de la App

Sobre el Proyecto

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.


Funcionalidades Principales

Experiencia de Compra & Cotización (Cliente)

  • 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.

Gestión Administrativa (ERP)

  • 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.

Especificaciones Técnicas

Arquitectura & Diseño

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.

Stack Tecnológico

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.

Instalación y Despliegue

Sigue estos pasos para ejecutar el proyecto en tu entorno local.

Prerrequisitos

  • Java JDK 17
  • Maven 3.8+
  • MySQL Server

Pasos

  1. Clonar el repositorio

    git clone [https://github.com/uwiloper/invlazaro-webapp.git](https://github.com/uwiloper/invlazaro-webapp.git)
  2. 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 /databaseSQL para datos de prueba).

  3. Configuración de Variables Edita src/main/resources/application.properties con 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
  4. Ejecutar Usa el wrapper de Maven incluido:

    ./mvnw spring-boot:run

    Accede a: http://localhost:8080


Proyecto desarrollado de manera grupal en Isil