¿Cuántas horas a la semana pierdes contando productos en una libreta o peleando con un Excel que se traba cada vez que intentas actualizarlo? Si tienes un emprendimiento o un pequeño negocio en Colombia, sabes que llevar el control del inventario es vital, pero también puede ser un dolor de cabeza. La buena noticia es que hoy en día, montar tu propio sistema de gestión no tiene que ser un proyecto de millones ni requerir un doctorado en informática.
En este tutorial vamos a meternos en el mundo del desarrollo de software de la mano de Node.js. Vamos a crear una API REST básica que te servirá como columna vertebral para una futura app móvil o página web donde puedas gestionar los productos de tu negocio. Ya seas un emprendedor curioso o un desarrollador junior que busca dar sus primeros pasos, este artículo es para ti. ¡Pongámonos el overol y a codear!
¿Qué es una API REST y por qué la necesitas?
Antes de tirar código, hablemos claro. Una API (Interfaz de Programación de Aplicaciones) es como el mesero de un restaurante. Tú (la app o el frontend) le pides un plato (los datos), el mesero (la API) va a la cocina (el servidor o base de datos), trae el plato y te lo entrega. REST es simplemente un conjunto de reglas sobre cómo debería ser esa comunicación, usando el lenguaje de la web (HTTP).
Para tu negocio, una API REST te permite separar tu base de datos de la interfaz visual. Así, puedes tener una página web para el administrador y una app móvil para el vendedor, y ambas consultan la misma API. Es eficiente, ordenado y te ahorra trabajo a largo plazo.
Preparando el entorno de desarrollo
Para empezar, necesitas tener instalado Node.js en tu computador. Node.js nos permite ejecutar JavaScript fuera del navegador, lo cual es perfecto para crear servidores.
- Ve a nodejs.org y descarga la versión LTS (Long Term Support).
- Instálalo como cualquier otro programa en tu Windows, Mac o Linux.
- Abre tu terminal (Símbolo del sistema, PowerShell o la terminal de tu preferencia) y escribe
node -v. Si te aparece un número de versión, ¡todo listo!
Inicializando el proyecto
Crea una carpeta en tu computador para tu proyecto, por ejemplo, inventario-api. Abre tu terminal en esa carpeta y ejecuta los siguientes comandos:
npm init -y
Esto crea un archivo package.json que guardará la información de tu proyecto. Luego, necesitamos instalar Express, que es un framework que hace que crear servidores en Node.js sea muchísimo más fácil:
npm install express
Creando el servidor y las rutas
Ahora viene la parte divertida. Crea un archivo llamado index.js en la raíz de tu carpeta y ábrelo con tu editor de código favorito (recomendamos VS Code). Vamos a escribir el código para nuestro servidor. Para mantenerlo simple, usaremos un arreglo en memoria para guardar los productos en lugar de una base de datos real.
Copia y pega el siguiente código en tu archivo index.js:
const express = require('express');
const app = express();
app.use(express.json()); // Para que Express entienda JSON
// Nuestra "base de datos" temporal
let productos = [
{ id: 1, nombre: 'Aguapanela', precio: 3000, stock: 50 },
{ id: 2, nombre: 'Empanada', precio: 2500, stock: 100 }
];
// Ruta para obtener todos los productos (GET)
app.get('/api/productos', (req, res) => {
res.json(productos);
});
// Ruta para agregar 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);
});
// Levantamos el servidor
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Servidor corriendo en http://localhost:${PORT}`);
});
Para entender qué hicimos: usamos app.get para crear una ruta que, cuando la visites, te devuelva la lista de productos. Con app.post creamos una ruta para recibir datos nuevos (un producto que queremos agregar) y guardarlos en nuestro arreglo. Finalmente, con app.listen le decimos a Node.js que mantenga el servidor corriendo en el puerto 3000.
Para probarlo, ve a tu terminal y ejecuta node index.js. Verás el mensaje de que el servidor está corriendo.
Probando nuestra API
Para probar el método GET, simplemente abre tu navegador y ve a http://localhost:3000/api/productos. Verás el JSON con tu aguapanela y tus empanadas.
Pero, ¿cómo probamos el método POST? Los navegadores por defecto solo hacen peticiones GET. Para esto, los desarrolladores usamos una herramienta llamada Postman (o Insomnia). Descarga Postman, crea una nueva petición de tipo POST, pon la URL http://localhost:3000/api/productos, ve a la pestaña "Body", selecciona "raw" y "JSON", y envía esto:
{
"nombre": "Jugo de mora",
"precio": 3500,
"stock": 20
}
Si todo sale bien, el servidor te responderá con un estatus 201 y el producto creado. Si vuelves a tu navegador y refrescas la URL del GET, verás que el jugo de mora ya está en la lista. ¡Acabas de crear tu primer backend funcional!
Consejos prácticos para emprendedores y devs
- No te quedes en memoria: Este ejemplo guarda los datos en una variable. Si reinicias el servidor, se borran. El siguiente paso es integrar una base de datos. Para empezar, te recomiendo SQLite o PostgreSQL.
- Valida siempre los datos: Nunca confíes en lo que el usuario envía. Si tu ruta POST recibe un precio con letras, tu app puede fallar. Agrega validaciones para asegurarte de que los datos tengan el formato correcto.
- Piensa en la seguridad: Antes de poner esto en internet, necesitas proteger tus rutas. Investiga sobre JSON Web Tokens (JWT) para que solo los administradores autorizados puedan agregar o eliminar productos.
- Despliegue accesible: Para subir tu API a internet sin gastar mucho, puedes usar servicios como Render o Railway, que tienen planes gratuitos ideales para proyectos pequeños en Colombia.
Conclusión
Dar el salto de la libreta a la digitalización no tiene por qué ser intimidante. Con herramientas como Node.js y Express, puedes empezar a construir el cerebro de tu negocio de manera ágil y económica. Este es solo el primer paso; a partir de aquí puedes conectar esta API a una app móvil en Flutter o React Native, o a un panel de control web en React.
Si bien hacerlo tú mismo es un excelente ejercicio, sabemos que el tiempo es el recurso más valioso para un emprendedor. Si quieres llevar tu negocio al siguiente nivel, conectar tus operaciones con una app a medida o necesitas asesoría para no perderte en el código, en Camilincanins Company estamos listos para ayudarte. Somos expertos en desarrollo de software a medida, apps móviles y consultoría tecnológica para emprendedores en Colombia. ¡Escríbenos y hagamos que tu negocio sea tan digital y eficiente como lo sueñas!