Skip to content

DouglasAC/InventorySpringBootReact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Inventory Management System

Descripción

Este proyecto es un sistema de gestión de inventario desarrollado para demostrar el manejo de productos, categorías, usuarios y registros de auditoría. El sistema permite realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en productos, categorías y usuarios, además de registrar logs de auditoría para un seguimiento detallado de las acciones realizadas.

Tecnologías Utilizadas

  • Backend: Spring Boot 3

    • Spring Data JPA
    • Spring Security con JWT
    • Lombok
    • Hibernate
    • PostgreSQL
  • Frontend: React con Bootstrap

  • Base de Datos: PostgreSQL

  • Herramientas:

    • IntelliJ IDEA (Licencia de estudiante)
    • Gradle (Groovy)
    • Git para control de versiones

Características Principales

  • Gestión de Productos:

    • Listado de productos con filtros por nombre, categoría, disponibilidad, fabricante, marca y rango de precios.
    • Paginación y búsqueda eficiente.
  • Gestión de Categorías:

    • Creación, edición y eliminación de categorías de productos.
  • Gestión de Usuarios:

    • Registro de nuevos usuarios con asignación de roles (Administrador, Almacenero, Consultor).
  • Seguridad:

    • Autenticación y autorización basada en roles utilizando JWT.
  • Registro de Auditoría:

    • Seguimiento detallado de acciones realizadas en el sistema.

Requisitos Previos

  • Java 17.0.1 o superior
  • Gradle
  • PostgreSQL
  • Node.js

Configuración del Proyecto

Backend

  1. Clonar el repositorio:

    git clone https://github.com/DouglasAC/InventorySpringBootReact
    cd backend
  2. Configurar la base de datos en application.properties:

    spring.datasource.url=jdbc:postgresql://localhost:5432/inventario
    spring.datasource.username=tu_usuario
    spring.datasource.password=tu_contraseña
    spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
    spring.jpa.properties.hibernate.jdbc.lob.enable_lazy_load_no_trans=true
  3. Ejecutar el backend:

    ./gradlew bootRun

Frontend

  1. Navegar al directorio del frontend:

    cd frontend
  2. Instalar las dependencias:

    npm install
  3. Ejecutar la aplicación:

    npm start

Endpoints Principales

  • Productos:

    • GET /api/productos: Listar productos
    • GET /api/productos/{id}: Detalles de un producto
    • GET /api/productos/filtros: Listar productos con filtros
    • POST /api/productos: Crear producto
    • DELETE /api/productos/{id}: Eliminar un producto
    • PUT /api/productos/{id}: Actualizar un producto
  • Categorías:

    • GET /api/categorias: Listar categorías
    • GET /api/categorias/{id}: Detalles de una categoría
    • POST /api/categorias: Crear categoría
    • DELETE /api/categorias/{id}: Eliminar una categoría
    • PUT /api/categorias/{id}: Actualizar una categoría
  • Usuarios:

    • POST /api/usuarios/registrar: Registrar usuario
  • Logs de Auditoría:

    • GET /api/audit-logs: Listar logs de auditoría
    • GET /api/audit-logs/filtros: Listar logs de auditoría con filtros

About

Sistema de Gestión de Inventario desarrollado con Spring Boot, React y PostgreSQL. Esta aplicación permite registrar, editar y consultar productos, gestionar usuarios y registrar auditorías de acciones en el sistema, implementando autenticación JWT, paginación, filtros avanzados y control de role

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors