Sistema-Ventas-Inventario-SVI-

Sistema de Ventas e Inventario (SVI)

Node.js Express.js MySQL Jest

Una aplicación web full-stack para la gestión de un inventario de productos y el registro de ventas. Esta herramienta permite a los usuarios autenticarse, gestionar un catálogo de productos (crear, leer, actualizar y eliminar), y procesar transacciones de venta de forma segura y eficiente.


Tabla de Contenidos


Descripción del Proyecto

El SVI es una solución completa construida con el stack HTML/CSS/JavaScript en el frontend y Node.js/Express/MySQL en el backend. La aplicación cuenta con un sistema de autenticación basado en JWT, permitiendo un acceso seguro a las diferentes funcionalidades.

Características Principales


Tecnologías Utilizadas


Requisitos Previos

Asegúrate de tener instalado el siguiente software en tu máquina local antes de empezar:


Guía de Instalación

Sigue estos pasos para configurar el proyecto en tu entorno de desarrollo local.

1. Clonar el repositorio:

git clone [https://github.com/tu-usuario/tu-repositorio.git](https://github.com/tu-usuario/tu-repositorio.git)
cd tu-repositorio

2. Configurar el Backend:

# Navega a la carpeta del backend
cd backend

# Instala todas las dependencias de Node.js
npm install

3. Configurar la Base de Datos:

4. Configurar las Variables de Entorno:

5. Iniciar la aplicación:


Scripts Disponibles

Desde la carpeta backend/, puedes ejecutar los siguientes scripts definidos en package.json:


Estructura del Proyecto

El proyecto está organizado en dos carpetas principales para separar las responsabilidades:

SVI/
├── backend/
│   ├── __tests__/         # Contiene todas las pruebas de Jest
│   │   ├── auth.test.js
│   │   ├── clientes.test.js
│   │   ├── productos.test.js
│   │   └── ventas.test.js
│   ├── node_modules/      # Dependencias del backend
│   ├── .env               # Variables de entorno (local, no subir a Git)
│   ├── .gitignore         # Archivos y carpetas ignorados por Git
│   ├── app.js             # Definición de la aplicación Express
│   ├── index.js           # Punto de entrada que inicia el servidor
│   └── package.json       # Metadatos y dependencias del proyecto
│
└── frontend/
    ├── inventario.html
    ├── inventario.js
    ├── login.html
    ├── login.js
    ├── register.html
    ├── register.js
    ├── reportes.html
    ├── reportes.js
    └── style.css

LICENSE