Crea tu primera API REST con Node.js: Guía práctica para digitalizar el inventario de tu negocio

¿Cansado de llevar el inventario de tu negocio en cuadernos o en hojas de Excel que siempre se quedan desactualizadas? En Colombia, cada vez más emprendedores y pequeños negocios están dando el salto hacia la digitalización. Una de las mejores formas de empezar es creando un sistema propio para gestionar tus datos. Hoy vamos a construir el corazón de ese sistema: una API REST.

Sí, suena muy técnico, pero te prometo que es más sencillo de lo que parece. Vamos a usar Node.js, una tecnología super rápida y amigable. Atrévete a seguir esta guía paso a paso y verás cómo en menos de una hora tienes corriendo tu primer servidor.

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

Imagina que tu base de datos es la cocina de un restaurante y tu aplicación web o móvil es el cliente sentado en la mesa. La API (Interfaz de Programación de Aplicaciones) es el mesero que toma el pedido, va a la cocina, trae la comida y se la sirve al cliente. REST es simplemente un conjunto de reglas sobre cómo ese mesero debe comportarse.

Para tu negocio, tener una API significa que puedes crear una página web, una app móvil o incluso una aplicación de escritorio, y todas pueden conectarse a la misma "cocina" para leer, crear, actualizar o borrar productos de tu inventario.

Preparando el entorno de desarrollo

Antes de empezar a escribir código, necesitamos tener nuestras herramientas listas. Es como preparar la mesa de trabajo antes de cocinar.

Paso 1: Inicializar el proyecto

Abre tu terminal o consola de comandos y crea una nueva carpeta para tu proyecto. Navega hasta ella e inicializa un nuevo proyecto de Node.js.

Escribe los siguientes comandos:

mkdir inventario-api

cd inventario-api

npm init -y

El comando npm init -y creará un archivo llamado package.json que guardará la información de tu proyecto. Ahora, vamos a instalar Express, que es el framework que nos facilitará la vida para crear el servidor:

npm install express

Paso 2: Crear el servidor básico

Abre la carpeta del proyecto en Visual Studio Code y crea un archivo llamado index.js. Aquí es donde vivirá nuestro código. Vamos a escribir las primeras líneas para levantar el servidor:

const express = require('express');
const app = express();
const port = 3000;

// Middleware para poder leer datos en formato JSON
app.use(express.json());

app.listen(port, () => {
console.log(`Servidor corriendo en http://localhost:${port}`);
});

Para probarlo, ve a tu terminal y ejecuta node index.js. Deberías ver el mensaje en la consola indicando que el servidor está corriendo. Presiona Ctrl + C para detenerlo por ahora.

Paso 3: Modelar los datos del inventario

Para mantener este tutorial simple, no vamos a conectar una base de datos real todavía. Usaremos un arreglo (array) en la memoria de nuestro servidor. En la vida real, aquí conectarías una base de datos como PostgreSQL o MongoDB, pero vamos paso a paso.

Añade este código debajo de la configuración del puerto:

let productos = [
{ id: 1, nombre: "Camiseta Camilincanins", precio: 35000, stock: 50 },
{ id: 2, nombre: "Taza Términa", precio: 15000, stock: 20 }
];

Paso 4: Implementar las rutas (CRUD)

CRUD significa Crear, Leer, Actualizar y Borrar (Create, Read, Update, Delete). Vamos a crear estas cuatro rutas para manejar nuestros productos.

1. Leer 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).send('Producto no encontrado');
}
});

4. Borrar un producto (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();
});

Guarda el archivo, ejecuta nuevamente node index.js y abre Postman. Prueba hacer una petición GET a http://localhost:3000/api/productos. ¡Verás tus productos listos!

Consejos prácticos para emprendedores y devs

Conclusión

Digitalizar tu negocio no tiene por qué ser un dolor de cabeza. Con un poco de código y las herramientas correctas, puedes empezar a construir soluciones a la medida de tus necesidades. Crear tu propia API te da la libertad de escalar tu plataforma hacia el futuro, ya sea creando una app móvil para tus vendedores o una página web para tus clientes.

Sabemos que como emprendedor en Colombia, tu tiempo es oro y a veces la tecnología puede parecer un mundo aparte. Si en algún momento sientes que esto es mucha tela o prefieres enfocarte en hacer crecer tu modelo de negocio mientras un equipo experto se encarga del software, en Camilincanins Company estamos listos para echarte una mano. Nos especializamos en software a medida, apps y páginas web que impulsan a los pequeños negocios. ¡Hablemos y construyamos juntos la próxima gran idea!

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

Solicitar cotización gratis 🦎