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

Laravel: insertar datos en migración

En este post sobre Laravel y bases de datos veremos cómo insertar datos al momento de realizar la migración (proceso en el cual se crean o modifican tablas de la base de datos).

Esto puede servir para cuando tenemos que insertar datos por defecto o datos que solo se deben insertar una vez (por ejemplo, durante la instalación del sistema).

Personalmente utilicé este método para insertar el cliente “Mostrador” en una modificación que estoy haciendo al punto de venta en Laravel.

(más…)

API REST con autenticación en Laravel

En este tutorial te voy a mostrar cómo crear una API REST en Laravel usando Laravel Passport. Gracias a esto podrás exponer tu API y consumirla con JavaScript (para una app web del lado del cliente) o con una app móvil y cualquier lenguaje que hable HTTP con JSON.

Lo interesante es que además de configurar una API JSON en Laravel, vas a aprender cómo agregar autenticación; de este modo los usuarios podrán iniciar sesión, recibir un token y luego usarlo para realizar las otras operaciones.

Verás que es muy sencillo. Al final del post colocaré unas pruebas de consumo de la API con Postman.

(más…)

Proteger directorio raíz de Laravel

En este post te mostraré cómo proteger el directorio de una aplicacón web de Laravel para evitar que un usuario acceda al archivo .env o a otros archivos.

Como sabes, cuando usas Apache para servir una app de Laravel, se puede acceder a todo el proyecto desde la web, no solo al directorio public. Por lo tanto, cualquier usuario podría acceder al archivo .env o a otros.

Es por eso que veremos cómo proteger una app de Laravel servida por Apache; ya que si, por ejemplo, la sirves usando artisan serve o con algo como Homestead, este paso no es necesario.

(más…)

Sistema de ventas con Laravel, Bootstrap y MySQL – Open source

Hoy voy a presentar un sistema que acabo de hacer con Laravel. Se trata de un sistema de ventas, punto de venta, PDV o como le llames, que sirve para llevar el seguimiento de los productos que se venden, el registro de ventas, etcétera.

Es un sistema totalmente gratuito y además open source; lo que quiere decir que puedes usarlo sin costo, y modificarlo a tus necesidades o personalizarlo. Entre sus opciones encontramos:

  • Utiliza Laravel en su última versión (a la fecha de escribir esto)
  • Bootstrap es usado para los estilos
  • Iconos de FontAwesome
  • Sistema totalmente responsivo, es decir, funciona en móviles, tabletas y computadoras
  • Control de inventario con precio de venta, precio de compra, utilidad, existencia, etcétera
  • Opción para realizar venta, agregando productos
  • Comprobación de existencia de inventario al vender
  • Resta de existencia al vender
  • Impresión de tickets de venta en impresora térmica
  • Reporte de ventas
  • Inicio de sesión y registro de usuarios
  • Gestión de usuarios (novedad)
  • Registro de clientes (novedad)
  • Ticket que incluye el nombre del cliente (novedad)

Ahora veamos cómo está hecho, en dónde obtenerlo, etcétera.

(más…)

Consultas manuales / raw en Laravel

A pesar de que Laravel tiene su ORM y Query Builder en algunas ocasiones vamos a necesitar ejecutar consultas “a mano”, es decir, ejecutar una consulta raw o una query manual.

Una desventaja que traen las consultas raw (que reciben la consulta como cadena) es que son propensas a inyecciones SQL, pero con lo que te mostraré hoy podrás hacer consultas raw en Laravel evitando inyecciones SQL.

(más…)

CRUD Laravel usando Resources, Controllers, Models y Migrations

Crear un CRUD de Laravel generando código con artisan

Este es un tutorial que se basa en mi experiencia con Laravel. Te mostraré cómo crear un CRUD de cualquier entidad en pocos minutos, es decir, de manera muy rápida, usando:

  • Resources
  • Controllers
  • Models
  • Migrations

Todo esto usando artisan para generar el código. Verás que una vez que lo sepas, dejarás que artisan genere el código base.

Esto es un tip de productividad con Laravel.

(más…)

Especificar nombre de tabla en Laravel

Cuando usamos Laravel y los modelos del mismo, se crea un nombre de tabla (que será creada en la base de datos) que no siempre será correcto, sobre todo si está en idioma español.

Por ejemplo, yo tenía un modelo llamado MensajeIndividual pero el nombre de la tabla estaba como mensaje_individuals.

Hoy veremos cómo cambiar el nombre de la tabla en el modelo y en la migración (en caso de que exista).

(más…)