¿Aún llevas el control de los productos de tu negocio en un cuaderno o en un Excel que se vuelve un caos al final del mes? Si eres emprendedor o tienes una pyme en Colombia, sabes que la digitalización ya no es un lujo, sino una necesidad. El primer paso para tener tu propia página web o aplicación móvil que gestione tu inventario es construir una API REST.
Suena muy técnico, ¿verdad? Pero no te preocupes. En este tutorial práctico vamos a crear una API sencilla usando Node.js y Express. Esta API nos permitirá agregar, consultar, actualizar y eliminar productos. Es la base perfecta para que luego le conectes una app hecha en React, Flutter o cualquier otra tecnología. ¡A darle!
¿Qué necesitas antes de empezar?
Antes de tirar líneas de código, necesitas tener listas un par de herramientas en tu computador:
- Node.js instalado: Puedes descargarlo desde su página oficial (nodejs.org). Te recomiendo la versión LTS.
- Un editor de código: Visual Studio Code (VS Code) es el rey y es gratis.
- Conocimientos básicos de JavaScript: Si sabes qué es una variable y una función, estás listo para seguir este tutorial.
- Postman (opcional pero recomendado): Es una herramienta para probar que nuestra API funcione correctamente sin necesidad de tener una interfaz gráfica.
Paso 1: Inicializar el proyecto
Abre VS Code, crea una carpeta nueva para tu proyecto (por ejemplo, inventario-api) y abre una terminal dentro de VS Code. Lo primero que vamos a hacer es inicializar el proyecto de Node.js. Escribe el siguiente comando:
npm init -y
Esto creará un archivo package.json con la configuración básica. Ahora, vamos a instalar Express, que es el framework que nos facilitará la vida para crear el servidor y las rutas:
npm install express
Para que nuestro servidor se reinicie automáticamente cada vez que guardamos cambios (algo que nos ahorra muchísimo tiempo), instalaremos una herramienta llamada Nodemon como dependencia de desarrollo:
npm install --save-dev nodemon
Paso 2: Configurar el servidor básico
Crea un archivo llamado index.js en la raíz de tu carpeta. Aquí vivirá nuestro servidor. Vamos a escribir el código mínimo para levantarlo:
const express = require('express');
const app = express();
const PORT = 3000;
// Middleware para poder leer JSON en las peticiones
app.use(express.json());
app.listen(PORT, () => {
console.log(`Servidor corriendo en http://localhost:${PORT}`);
});
Para ejecutar esto, ve a tu archivo package.json y agrega un script de inicio. En la sección de "scripts", agrega: "dev": "nodemon index.js". Ahora, en la terminal, corre npm run dev y verás el mensaje en la consola indicando que el servidor está activo.
Paso 3: Definir la estructura de los datos
Para mantener este tutorial simple y enfocado en la lógica, no usaremos una base de datos real todavía. Usaremos un arreglo en la memoria de nuestro servidor. Agrega esto debajo de la configuración de tu servidor en index.js:
let productos = [
{ id: 1, nombre: 'Camiseta Camilincanins', precio: 35000, cantidad: 50 },
{ id: 2, nombre: 'Termo para café', precio: 45000, cantidad: 20 }
];
Paso 4: Crear las rutas (El famoso CRUD)
CRUD significa Crear, Leer, Actualizar y Eliminar (Create, Read, Update, Delete). Vamos a crear una ruta para cada una de estas acciones.
Leer productos (GET)
Para obtener todos los productos, usamos el método GET:
app.get('/api/productos', (req, res) => {
res.json(productos);
});
Crear un producto (POST)
Para agregar un nuevo producto a nuestro inventario, usamos POST. Recibiremos los datos del producto en el cuerpo de la petición:
app.post('/api/productos', (req, res) => {
const nuevoProducto = {
id: productos.length + 1,
nombre: req.body.nombre,
precio: req.body.precio,
cantidad: req.body.cantidad
};
productos.push(nuevoProducto);
res.status(201).json(nuevoProducto);
});
Actualizar un producto (PUT)
Si vendemos un producto y necesitamos actualizar la cantidad, usamos PUT. Necesitamos saber qué producto actualizar mediante su ID:
app.put('/api/productos/:id', (req, res) => {
const id = parseInt(req.params.id);
const index = productos.findIndex(p => p.id === id);
if (index !== -1) {
productos[index] = { ...productos[index], ...req.body };
res.json(productos[index]);
} else {
res.status(404).json({ message: 'Producto no encontrado, parce' });
}
});
Eliminar un producto (DELETE)
Si un producto se descontinúa, lo eliminamos con DELETE:
app.delete('/api/productos/:id', (req, res) => {
const id = parseInt(req.params.id);
productos = productos.filter(p => p.id !== id);
res.status(204).send();
});
Paso 5: Probar nuestra API
Ahora que tenemos las rutas, vamos a probarlas. Abre Postman y haz lo siguiente:
- GET: Haz una petición a
http://localhost:3000/api/productos. Deberías ver el arreglo con los dos productos iniciales. - POST: Cambia el método a POST, ve a la pestaña "Body", selecciona "raw" y "JSON". Escribe
{"nombre": "Gorra", "precio": 25000, "cantidad": 15}y envía. Verás que la API responde con el producto creado. - PUT: Usa PUT a
http://localhost:3000/api/productos/3(el ID de la gorra). En el body envía{"cantidad": 10}y verás cómo se actualiza solo ese campo.
Consejos prácticos para emprendedores y desarrolladores
Ya tienes el corazón de tu sistema de inventario latiendo. Aquí te dejamos algunos consejos clave para llevarlo al siguiente nivel:
- No te compliques con la base de datos al principio: Usar un arreglo en memoria está perfecto para aprender y hacer prototipos. Sin embargo, cuando vayas a producción, debes migrar a una base de datos real. Te recomiendo PostgreSQL o MongoDB.
- Valida siempre los datos: En el mundo real, los usuarios pueden enviar datos erróneos. Usa librerías como
express-validatorpara asegurarte de que el precio sea un número y el nombre no venga vacío. - Piensa en la seguridad: Protege tus rutas con tokens (como JWT) para que nadie de afuera pueda modificar tu inventario sin permiso.
- Despliega en la nube: Servicios como Render o Railway te permiten subir tu API gratis para que puedas conectarla a una app móvil real y probarla con tu negocio en Colombia.
Conclusión
Dar el salto a la digitalización no tiene que ser un dolor de cabeza. Construir tu propia API REST con Node.js te da el control total sobre cómo tu negocio maneja la información. Con este pequeño sistema, ya tienes la base para construir una app móvil para tu tienda o un panel web para tu equipo.
Sabemos que como emprendedor tu tiempo es oro y a veces el código puede volverse un dolor de cabeza cuando lo que realmente quieres es vender y crecer. Si necesitas ayuda para construir esa página web, la app móvil o el software a la medida que tu negocio merece, en Camilincanins Company estamos listos para acompañarte. Cuéntanos tu idea y hagamos que tu emprendimiento despegue con la tecnología adecuada.