Cómo crear tu primera API REST con Node.js para gestionar el inventario de tu negocio

¿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:

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:

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:

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.

¿Tienes un proyecto en mente? Te ayudamos a hacerlo realidad.

Solicitar cotización gratis 🦎