Crea tu primera API REST con Node.js y Express para gestionar el inventario de tu negocio

¿Cuántas veces has llegado al final del día en tu tienda o emprendimiento y te has dado cuenta de que las cuentas no cuadran? En Colombia, muchas pequeñas empresas y emprendedores aún dependen de cuadernos o hojas de Excel para manejar su inventario. Si bien es un comienzo, la verdad es que limita el crecimiento. Hoy te voy a mostrar cómo dar el primer gran paso hacia la digitalización de tu negocio creando una API REST sencilla con Node.js y Express.

¿Qué es una API REST y por qué la necesitas?

Para no enrollarnos mucho, una API (Interfaz de Programación de Aplicaciones) es como un mesero en un restaurante: toma tu pedido, va a la cocina (el servidor o base de datos) y te trae la comida (los datos). REST es simplemente un conjunto de reglas para que ese "mesero" trabaje de forma ordenada usando el protocolo HTTP.

Si quieres que tu app móvil, tu página web o incluso un software de escritorio puedan consultar, crear, editar o eliminar productos de tu inventario, necesitas una API REST en el medio. Es el corazón de cualquier sistema moderno.

Preparando el entorno de desarrollo

Antes de tirar líneas de código, necesitamos tener las herramientas listas. Asegúrate de tener instalado lo siguiente en tu computador:

Abre tu terminal (o línea de comandos) y vamos a empezar a armar el proyecto.

Paso 1: Inicializar el proyecto

Crea una carpeta en tu computador para tu proyecto (por ejemplo, inventario-api), entra a ella desde la terminal y ejecuta el siguiente comando para iniciar un proyecto de Node.js:

npm init -y

Esto creará un archivo package.json básico. Ahora, vamos a instalar Express, que es el framework que nos facilitará la vida para crear los endpoints (las rutas de nuestra API):

npm install express

Para que no tengamos que reiniciar el servidor cada vez que guardemos un cambio, instalemos una herramienta de desarrollo llamada Nodemon:

npm install --save-dev nodemon

Paso 2: Crear el servidor básico

Crea un archivo llamado index.js en la raíz de tu carpeta. Aquí escribiremos el código para levantar nuestro servidor. Copia y pega lo siguiente:

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 ejecutarlo, ve a tu archivo package.json y en la sección de scripts agrega: "start": "nodemon index.js". Luego, en la terminal, escribe npm start. Si todo sale bien, verás el mensaje en la consola.

Paso 3: Definir los datos y las rutas (Endpoints)

Para mantener este tutorial práctico y sencillo, no vamos a conectar una base de datos real todavía. Usaremos un arreglo en memoria. En tu archivo index.js, debajo de la configuración de Express, agrega un arreglo de productos:

let productos = [
    { id: 1, nombre: 'Camiseta Camilincanins', precio: 35000, stock: 50 },
    { id: 2, nombre: 'Taza térmica', precio: 25000, stock: 20 }
];

Ahora viene lo chévere: crear las rutas para interactuar con estos datos. Vamos a implementar las cuatro operaciones básicas (CRUD: Crear, Leer, Actualizar, Eliminar).

1. Obtener todos los productos (GET)

app.get('/api/productos', (req, res) => {
    res.json(productos);
});

2. Crear un nuevo producto (POST)

app.post('/api/productos', (req, res) => {
    const nuevoProducto = {
        id: productos.length + 1,
        nombre: req.body.nombre,
        precio: req.body.precio,
        stock: req.body.stock
    };
    productos.push(nuevoProducto);
    res.status(201).json(nuevoProducto);
});

3. Actualizar un producto (PUT)

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({ mensaje: 'Producto no encontrado, parce' });
    }
});

4. Eliminar un producto (DELETE)

app.delete('/api/productos/:id', (req, res) => {
    const id = parseInt(req.params.id);
    productos = productos.filter(p => p.id !== id);
    res.json({ mensaje: 'Producto eliminado correctamente' });
});

Probando nuestra API

Ahora que tenemos el código, vamos a probarlo. Abre Postman o Insomnia y haz lo siguiente:

Si todo responde como esperabas, ¡felicidades! Tienes una API funcional hecha por ti mismo.

Consejos prácticos para llevar a producción

Este es un gran avance, pero antes de salir a vender tu software al mundo, ten en cuenta estas recomendaciones:

Conclusión

Digitalizar tu negocio ya no es un lujo, es una necesidad para competir en el mercado colombiano actual. Crear tu propia API te da el control total sobre cómo tus aplicaciones comunican y gestionan la información vital de tu empresa. Con un poco de práctica, podrás escalar este pequeño inventario a un sistema completo de facturación y ventas.

Sin embargo, sabemos que como emprendedor tu tiempo es oro y quizás prefieras enfocarte en lo que mejor sabes hacer: vender y hacer crecer tu negocio. Si en algún momento sientes que este mundo del código es muy complejo o necesitas llevar tu idea al siguiente nivel con apps móviles, software a medida o incluso realidad virtual, en Camilincanins Company estamos listos para echarte una mano. Cuéntanos tu idea y construyamos juntos el software que tu negocio necesita. ¡Hasta la próxima, parcero!

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

Solicitar cotización gratis 🦎