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.
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.
Asegúrate de tener instalado el siguiente software en tu máquina local antes de empezar:
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:
svi_db (o el nombre que prefieras)..sql, puedes importarlo usando una herramienta como phpMyAdmin. De lo contrario, ejecuta las sentencias CREATE TABLE necesarias.usuario con el Rol de 'Administrador' para poder probar todas las funcionalidades.4. Configurar las Variables de Entorno:
backend/, crea un archivo llamado .env. Puedes copiar el contenido de env.example si existe, o crear uno nuevo..env:
# Configuración del Servidor
PORT=3000
# Configuración de la Base de Datos MySQL
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=
DB_NAME=svi_db
# Secreto para JSON Web Token
JWT_SECRET=tu_frase_secreta_muy_larga_y_dificil_de_adivinar
5. Iniciar la aplicación:
backend/:
node index.js
frontend/login.html en tu navegador web.Desde la carpeta backend/, puedes ejecutar los siguientes scripts definidos en package.json:
npm start
node index.js.npm test
npm run dev (Recomendado para desarrollar)
nodemon, que reinicia automáticamente el servidor cada vez que detecta un cambio en los archivos.npm install --save-dev nodemon y añade "dev": "nodemon index.js" a la sección de scripts en package.json)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