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…)

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…)

Laravel: obtener URL pública

En este post veremos cómo determinar o saber la URL de un proyecto de Laravel, es decir, obtener la URL absoluta.

Esto sirve en ocasiones que necesitamos determinar la url completa para por ejemplo consumir una API de Laravel desde JavaScript, incluir assets, determinar el dominio, etcétera.

Con esto me refiero a que obtendrías una URL como:

http://localhost/sistema_ventas_laravel_julio/public/

O, si está en un dominio de internet, algo como:

https://parzibyte.me/apps/sistema_ventas_laravel/public/

(más…)

Problemas con Awesomplete al usar Bootstrap

En este artículo te explicaré un problema que me pasó hace algún tiempo usando la librería Awesomplete y el framework Bootstrap.

Pasa que al hacer un autocompletado con AJAX,  el input perdía su estilo y se mostraba a la derecha de la etiqueta. Algo así:

Awesomplete con Bootstrap – Cambiando estilo de input

Cuando en realidad, debería mostrarse así:

Input correcto con awesomplete y Bootstrap

(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

Datos de sesión con fetch

En este post te mostraré cómo hacer que la sesión persista al usar la fetch API de JavaScript. Pasa que en ocasiones hacemos cosas con la sesión del lado del servidor, pero al usar fetch no se toma en cuenta la sesión.

Por ejemplo, iniciamos sesión con fetch y al querer acceder a un recurso protegido con la sesión, nos dice que no hay datos de sesión o que no estamos logueados.

Te mostraré cómo hacer que la sesión del lado del servidor (lo he probado con PHP, Go y Node.js o bueno JavaScript del lado del cliente) persista al usar fetch.

(más…)

Por parzibyte, hace

Angular cambia la opacidad en CSS

Hoy te voy a mostrar cómo solucionar el siguiente problema: al preparar aplicación web de angular para producción con ng build --prod los estilos CSS se cambian y en la opacidad se obtienen distintos resultados.

Quiero aclarar que esto no es problema de Angular, sino de cssnano, una herramienta que utiliza Angular para optimizar los estilos CSS.

(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

Pasar variable de PHP a JavaScript

En este tutorial te mostraré un pequeño truco para hacer que una variable de PHP esté accesible desde JavaScript. Y no solo una variable, también un objeto, arreglo, etcétera.

Si bien esto no es recomendable, pues en su lugar debería usarse AJAX, podemos usar este pequeño truco en apuros para hacer que una variable de PHP esté disponible en JavaScript.

(más…)