Sistema de Gestión de Solicitudes de Suministros de Oficina con Spring Boot y Vue3

Sistema de Gestión de Suministros de Oficina

Resumen del Proyecto

Esta aplicación es un sistema para la gestión de solicitudes de suministros de oficina, desarrollado con Spring Boot y Vue3. Permite a los usuarios solicitar suministros, a los administradores aprobar solicitudes y gestionar el inventario.

Tecnologías Utilizadas

Backend

  • Spring Boot 2.7.0
  • MyBatis-Plus 3.5.2
  • MySQL 8.0+
  • Redis
  • Autenticación JWT
  • Maven

Frontend

  • Vue 3.3.4
  • Vue Router 4.2.4
  • Pinia 2.1.6
  • Element Plus 2.3.8
  • Vite 4.4.5
  • SCSS

Estructura del Proyecto

gestion_suministros/
├── database/                 # Scripts de base de datos
│   └── init-corrected.sql
├── frontend/                 # Proyecto frontend
│   ├── src/
│   │   ├── api/             # Interfaces API
│   │   ├── components/      # Componentes
│   │   ├── layouts/         # Componentes de布局
│   │   ├── router/          # Configuración de rutas
│   │   ├── stores/          # Gestión de estado
│   │   ├── views/           # Componentes de página
│   │   └── style/           # Archivos de estilo
│   ├── package.json
│   └── vite.config.js
├── src/                      # Proyecto backend
│   └── main/
│       ├── java/
│       │   └── com/empresa/
│       │       ├── common/   # Clases comunes
│       │       ├── config/   # Clases de configuración
│       │       ├── controller/ # Controladores
│       │       ├── entity/   # Entidades
│       │       ├── mapper/   # Capa de acceso a datos
│       │       └── service/  # Capa de servicios
│       └── resources/
│           └── application.yml
└── pom.xml


Guía de Inicio Rápido

1. Requisitos del Entorno

  • JDK 11+
  • Node.js 16+
  • MySQL 8.0+
  • Redis 6.0+

2. Configuración de la Base de Datos

  1. Crear la base de datos:
CREATE DATABASE gestion_suministros DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;


  1. Ejecutar el script de inicialización:
source database/init-corrected.sql


  1. Modificar la información de conexión a la base de datos en el archivo de configuración src/main/resources/application.yml

3. Iniciar el Backend

  1. Navegar al directorio raíz del proyecto
  2. Ejecutar los comandos Maven:
mvn clean install
mvn spring-boot:run


El backend se iniciará en http://localhost:8085

4. Iniciar el Frontend

  1. Navegar al directorio del frontend:
cd frontend


  1. Instalar dependencias:
npm install


  1. Iniciar el servidor de desarrollo:
npm run dev


El frontend se iniciará en http://localhost:3000

Características del Sistema

Funcionalidades de Usuario

  • Registro/inicio de sesión de usuarios
  • Exploración de suministros de oficina
  • Solicitud de suministros
  • Visualización del estado de las solicitudes
  • Gestión del perfil personal

Funcionalidades de Administrador

  • Gestión de usuarios
  • Gestión de departamentos
  • Gestión de categorías de suministros
  • Gestión de suministros
  • Aprobación de solicitudes
  • Gestión de inventario

Cuentas por Defecto

  • Administrador: admin / admin123
  • Los usuarios normales deben registrarse

Interfaces API

Autenticación

  • POST /api/auth/login - Inicio de sesión de usuario
  • POST /api/auth/register - Registro de usuario
  • GET /api/auth/userinfo - Obtener información del usuario

Gestión de Suministros

  • GET /api/supply/page - Consulta paginada de suministros
  • GET /api/supply/{id} - Obtener detalles del suministro
  • POST /api/supply - Crear suministro
  • PUT /api/supply - Actualizar suministro
  • DELETE /api/supply/{id} - Eliminar suministro

Gestión de Solicitudes

  • GET /api/application/page - Consulta paginada de solicitudes
  • POST /api/application - Crear solicitud
  • PUT /api/application/approve/{id} - Aprobar solicitud

Guía de Desarrollo

Desarrollo Backend

  • Uso de MyBatis-Plus para el acceso a datos
  • Formato de retorno unificado usando la clase Response
  • Autenticación JWT
  • Soporte para eliminación lógica

Desarrollo Frontend

  • Uso de Vue3 Composition API
  • Gestión de estado con Pinia
  • Biblioteca de componentes Element Plus
  • Diseño responsivo

Guía de Despliegue

Despliegue Backend

  1. Empaquetar: mvn clean package
  2. Ejecutar: java -jar target/gestion-suministros-1.0.0.jar

Despliegue Frontend

  1. Construir: npm run build
  2. Deesplegar el directorio dist en un servidor web

Consideraciones Importantes

  1. Asegurarse de que los servicios MySQL y Redis estén funcionando correctamente
  2. Durante el desarrollo frontend, prestar atención a la configuración de CORS para las enterfaces API
  3. En el despliegue en producción, modificar información sensible como contraseñas de la base de datos
  4. Se recomienda usar HTTPS para el despliegue en producción

Etiquetas: Spring Boot Vue3 gestión de inventario sistema de solicitudes backend

Publicado el 6-5 02:28