Sistema de gestión de inventario y stock desarrollado con React y Node.js.
Sistema completo para la gestión de inventario que incluye:
- Backend API REST con Node.js/Express
- Frontend web con React + TypeScript + Vite
- Gestión de productos, categorías y stock
- Control de usuarios y roles
- Sistema de autenticación con JWT
- Interfaz moderna con Shadcn/UI y TailwindCSS
- Node.js + Express.js
- PostgreSQL (Base de datos)
- JWT (Autenticación)
- Bcrypt (Encriptación de contraseñas)
- Multer (Manejo de archivos)
- Nodemailer (Envío de correos)
- React 18 + TypeScript
- Vite (Build tool)
- TailwindCSS (Estilos)
- Shadcn/UI (Componentes UI)
- React Router (Navegación)
- TanStack Query (Gestión de estado)
- React Hook Form + Zod (Formularios y validación)
- Axios (Peticiones HTTP)
- Recharts (Gráficos)
- jsPDF (Generación de PDFs)
- Navega a la carpeta del backend:
cd backend- Instala las dependencias:
npm install-
Configura las variables de entorno:
- Copia el archivo
.env.examplea.env - Configura tus credenciales de base de datos PostgreSQL
- Copia el archivo
-
Inicia el servidor:
node server.js- Navega a la carpeta del frontend:
cd Inventario_AL- Instala las dependencias:
npm install-
Configura las variables de entorno:
- Crea un archivo
.envcon la URL del backend
- Crea un archivo
-
Inicia el servidor de desarrollo:
npm run dev- Para producción:
npm run build
npm run previewAPI/
├── backend/ # API REST (Node.js + Express)
│ ├── config/ # Configuración de BD
│ ├── controllers/ # Lógica de negocio
│ ├── middlewares/ # Autenticación y validación
│ ├── models/ # Modelos de datos
│ ├── routes/ # Endpoints de la API
│ ├── utils/ # Funciones auxiliares
│ ├── uploads/ # Archivos subidos
│ └── server.js # Punto de entrada
├── Inventario_AL/ # Frontend (React + Vite)
│ ├── src/
│ │ ├── components/ # Componentes reutilizables
│ │ ├── pages/ # Páginas de la aplicación
│ │ ├── hooks/ # Custom hooks
│ │ ├── lib/ # Utilidades
│ │ └── App.tsx # Componente principal
│ ├── public/ # Archivos estáticos
│ └── index.html # HTML principal
└── README.md
DB_HOST=localhost
DB_USER=tu_usuario
DB_PASSWORD=tu_contraseña
DB_NAME=inventario_db
DB_PORT=5432
PORT=3000
JWT_SECRET=tu_secreto_super_seguro
JWT_EXPIRES_IN=24h
NODE_ENV=developmentVITE_API_URL=http://localhost:3000npm start # Inicia el servidornpm run dev # Servidor de desarrollo
npm run build # Build de producción
npm run preview # Preview del build
npm run lint # LinterProyecto desarrollado por RisK - Keep