Inventario

Aplicación web para el seguimiento de compras a proveedores, recepción de mercadería, stock en almacén y entregas de productos, con usuarios y auditoría de quién cargó cada dato.

Funcionalidad

Requisitos

Instalación y uso local

npm install
copy .env.example .env
npm run prisma:migrate
npm run seed
npm run dev

Esto crea la base de datos SQLite, un usuario administrador inicial (admin / admin123, cambiar la contraseña luego de ingresar) y levanta el servidor en http://localhost:3000.

Variables de entorno (.env)

Despliegue en la nube

El proyecto usa Prisma, por lo que para desplegarlo (Railway, Render, etc.) alcanza con:

  1. Cambiar el datasource de prisma/schema.prisma de sqlite a postgresql y DATABASE_URL a la cadena de conexión de Postgres que te dé el proveedor de hosting.
  2. Ejecutar npx prisma migrate deploy en el entorno de producción.
  3. Ejecutar npm run seed una vez para crear el usuario administrador inicial.
  4. Configurar SESSION_SECRET con un valor propio y secreto.
  5. Las sesiones se guardan en memoria (memorystore), lo cual alcanza para un solo servidor. Si en producción vas a correr más de una instancia del servidor, conviene cambiar a connect-pg-simple para guardar las sesiones en la misma base Postgres.

Estructura del proyecto

prisma/schema.prisma   Modelo de datos
prisma/seed.js         Crea el usuario administrador inicial
src/app.js             Configuración de Express
src/server.js          Punto de entrada
src/routes/            Rutas por sección
src/views/             Vistas EJS
public/                CSS estático