API para obtener ubicación

Hoy te mostraré cómo puedes obtener la ubicación de un usuario o visitante de tu sitio web a través de su IP, consumiendo una API para la geolocalización o ubicación a partir de la IP.

De este modo vas a poder conocer la ubicación del usuario (con latitud y longitud) sin solicitarle permisos extra, aunque quiero dejar claro que obtener la ubicación por IP es mucho menos precisa que obtenerla a través del GPS.

Si solo quieres una ubicación aproximada, esta API funcionará de maravilla y al final vas a tener las coordenadas de su ubicación.

(más…)

API para obtener IP

Hoy te voy a mostrar un servicio gratuito y sin límite para obtener la IP del usuario. Es decir, se tiene que hacer una petición al servidor y el mismo te devuelve la IP del host.

Esto es útil para obtener la IP desde el cliente, sin importar el lenguaje de programación. Además, también sirve para cuando necesitamos consumir otras APIs (por ejemplo, una que te diga el clima) que requieren la IP.

Veamos entonces esta API para obtener la IP pública. Te voy a mostrar un ejemplo para obtenerla con JavaScript del lado del cliente, pero se puede consumir desde cualquier lenguaje que hable HTTP.

(más…)

Lectura de Código de barras con dibujo en canvas - JavaScript con QuaggaJs

Leer código de barras con JavaScript y cámara

En este post te mostraré cómo leer códigos de barras en el navegador web ya sea de una computadora o dispositivo móvil, usando la cámara del teléfono o la cámara web; y el lenguaje nativo JavaScript.

Esto hace que podamos hacer nuestras aplicaciones web todavía más diversas y con más características; en un ejemplo simple se me ocurre escanear el código de barras para un sistema de ventas.

La librería que vamos a usar se llama QuaggaJS y es capaz de leer códigos de barras con formato EAN, CODE 128, CODE 39, EAN 8, UPC-A, UPC-C, I2of5, 2of5, CODE 93 y CODABAR.

Con esto, podremos leer códigos de barras en dispositivos móviles o computadoras en tiempo real.

(más…)

Autocompletado con Bootstrap, Vue y API

En este post  te mostraré cómo hacer un autocompletado, autocomplete, auto completado o como le llames usando Bootstrap, Vue y una API.

De modo que al final (por si no sabes lo que es un autocompletado) se cuente con una caja en donde se complete mientras el usuario escribe, así como la búsqueda de Google.

Te mostraré dos ejemplos, uno en donde los resultados se completan localmente, y otro en donde se hace una búsqueda para traer los resultados de la API en tiempo real. Voy a dejar el código completo al final.

Nota: si buscas un autocompletado con JavaScript puro, mira Awesomplete.

(más…)

Comunicación entre ventanas de JavaScript

En JavaScript podemos abrir una nueva pestaña o ventana (window) y comunicarnos con ella. Es decir, abrir una ventana con window.open y después hacer algo de lo siguiente:

  • Enviarle mensajes o datos a la ventana hija, recién abierta
  • Desde la ventana abierta, enviarle mensajes o datos a la ventana padre

Veamos cómo comunicar o enviar datos entre ventanas con JavaScript. Al final del post dejaré un ejemplo para que puedas probarlo y analizarlo tú mismo.

(más…)

Pequeño e-commerce en Angular, Node y MySQL (tienda online)

Hoy vengo a presentar un software de comercio electrónico, tienda online o e-commerce escrito en Angular, con los estilos de Angular Material, y con una API escrita con JavaScript del lado del servidor usando Node con Express. Para la base de datos se ha usado MySQL.

El software es open source; puede ser descargado y modificado por cualquier persona. Entre sus características encontramos:

  • Gestión de productos
  • Fotos de productos (guardadas en el disco duro)
  • Carrito de compras por cada usuario
  • Registro de venta con dirección de envío
  • Vista de tienda
  • Detalle de producto

Quiero aclarar que no es un software listo para producción, y más bien es un proyecto escolar que puede servir ya sea como base para un proyecto completo de un e-commerce o para otro proyecto escolar.

Veamos ahora cómo es que está programado, en dónde se puede descargar. etcétera.

(más…)

Sesiones en Node con express.js

En este post te mostraré un ejemplo sencillo y claro de cómo manejar la sesión o persistencia de sesión en Node.js usando el framework express.js

Vamos a usar el paquete express-session; y de este modo podremos acceder a los datos de sesión de la petición.

Gracias a la sesión podemos hacer varias cosas. Por ejemplo, restringir el acceso solo a usuarios logueados o llevar algo como un carrito de compras.

(más…)

Por parzibyte, hace

CORS con Node y Express

CORS es necesario para compartir recursos en distintos dominios. Hoy vamos a ver cómo habilitar CORS con Node.js al usar express.

Sé que CORS no es una cosa “que se habilite” pero encuentro facilidad al decirlo de este modo. De hecho lo que se hace es responder con un encabezado indicando cuáles dominios se permiten para compartir recursos.

Bien, veamos cómo configurar CORS con Node.

(más…)

Por parzibyte, hace

Node: recargar archivo al cambiar contenido

Al programar en Node.js ejecutamos archivos de JavaScript con: node archivo.js. Si usamos un paquete para levantar un servidor (por ejemplo express) entonces vamos a tener que estar reiniciando el servidor cada que hagamos cambios.

Afortunadamente existe una herramienta que permite vigilar los archivos de Node y recargarlos cuando se detecta un cambio; de este modo te evitas reiniciar el servidor en cada cambio.

Vamos a usar nodemon.

(más…)

Por parzibyte, hace

Checkbox en JavaScript

En este post te mostraré cómo trabajar con un input de tipo checkbox en JavaScript.

Será muy simple, veremos cómo marcar / desmarcar el input, y también cómo saber si está marcado o no.

Usaremos JavaScript puro; nada de frameworks.

(más…)