Panel de administración para Laravel con el paquete Voyager

voyager

Voyager es un nuevo paquete desarrollado por un grupo llamado The Group Control el cual nos ofrece un completo panel de administración donde podemos manejar desde archivos estáticos a generar CRUD’s.

Antes de comenzar, puedes acceder a un vídeo el cual nos muestran que podemos hacer con este paquete,

Algunas características que puedes encontrar son las siguientes:

  1. Completo manejo de usuarios
  2. Sistema de Roles
  3. Manejo de contenido estático
  4. Paginas
  5. Categorías
  6. Configuración general
  7. Generación de CRUD
  8. Menu Builder
  9. Manejo de base de datos

Ahora que ya conocemos un poco de lo que nos trae este fabuloso paquete que les parece si vamos directamente con la simple instalación de 5 minutos o menos.

Instalación del paquete

Para instalar el paquete necesitamos una instalación limpia de Laravel 5.3 ya que el paquete esta desarrollado para esta versión, para eso debemos hacer una nueva instalación de Laravel desde composer:

Luego de la instalación de Laravel podemos comenzar simplemente diciéndole a  composer que requerimos el paquete tcp/voyager con el siguiente comando:

Una vez que composer cargue todas las dependencias debes ingresar a tu archivo .env ubicado en la raíz de tu proyecto y colocar todos los datos necesarios para la conexión hacia la base de datos, se recomienda que uses una base de datos limpia para evitar conflictos o algunos problemas.

Seguidamente debemos agregar un par de Services Providers los cuales son requeridos para el funcionamiento del paquete, para eso nos dirigimos hacia nuestro archivo de configuración config/app.php y agregar los Services Providers del paquete en el arreglo providers de la siguiente forma:

Con esto ya tenemos el paquete instalado y solo nos queda ejecutar una nueva instalación de Voyager desde nuestra terminal o consola

Ahora se nos ha generado el panel de administración completo, para probarlo puedes iniciar el servidor de desarrollo con el comando

Debemos dirigirnos hacia la url http://localhost:8000/admin y podemos observar que tenemos un formulario para loguearnos hacia nuestro panel de administración, el paquete por defecto nos crea un usuario para poder acceder con las siguientes credenciales: 

Con esto finalizamos completamente la instalación del paquete y podemos observar que ahora tenemos un panel de administración completo en 5 minutos o quizás menos.

Por defecto, el paquete nos genera un usuario con las credenciales ya mencionadas, 2 roles, 4 posts, 1 pagina y 2 categorías. Las características de cada uno de los módulos que nos trae este paquete los estaremos mencionando a continuación.

Módulos del paquete

Roles

En el módulo de roles podemos encontrar un simple CRUD donde podemos especificar el nombre del rol y el nombre a mostrar. No contiene un sistema de permisos sino que es algo mas simple.

Usuarios

Para los usuarios el paquete nos ofrece algunos campos como lo son el nombre, email, contraseña y un avatar. En el módulo de usuarios podemos crear, editar, ver y eliminar. En términos generales tenemos un CRUD básico.

Media

En este módulo tenemos la posibilidad de administrar todo lo que tenemos en la carpeta public de forma interactiva, podemos editar las carpetas y agregar nuevas, subir archivos, ver información completa de los archivos y las carpetas, editarlos y moverlos. Es un módulo bastante completo el cual nos ofrece muchas posibilidades de forma muy sencilla e interactiva.

Posts

Los campos que se manejan para este módulo son titulo, contenido, slug, estado del post, categoría, imagen para el articulo, breve descripción para el post, tema destacado e información sobre el CEO del post entre otros. Este módulo en general nos ofrece un CRUD completo para los posts.

Paginas

Para las paginas tenemos algunos campos como lo son: titulo, breve descripción, contenido de la pagina, slug, meta descripción, meta keywords, estado de la pagina e imagen. Este módulo también nos ofrece un CRUD en términos generales muy parecido al de los posts y usuarios.

Categorías

Es un módulo muy simple parecido a los demás mencionados anteriormente con la única diferente que este nos ofrece los siguientes campos: id del padre, orden, nombre y slug.

Menu Builder

Este es un módulo especial el cual nos ofrece este componente y en pocas palabras podemos crear un menú el cual podemos colocar en cualquier parte de nuestra aplicación con la siguiente linea de código

Para la creación de los menú simplemente debemos colocarle un nombre y luego podemos agregar los ítems donde debemos especificar un titulo, url, clase de icono, color y la opción de permanecer en esta pagina o abrir en una nueva ventana. Ademas podemos editarlos y eliminarlos de nuestro menú.

Database

Es el módulo mas completo que nos ofrece este paquete ya que podemos manipular de forma dinámica y muy interactiva las tablas de nuestra base de datos. Con las tablas podemos ver sus columnas con todos los detalles, editarlas y eliminarlas.

Podemos crear una nueva tabla donde debemos especificar su nombre y todas las columnas con sus respectivas características, pero ademas de esto nos ofrece una opción para crear un modelo perteneciente a esta nueva tabla, automáticamente se creara un CRUD completo para el modelo creado.

Configuración general

Desde la configuración general de nuestro sitio podemos especificar cual es el titulo de nuestra pagina, descripción, logo, ademas también podemos añadir un titulo, descripción e imagen de fondo para el panel de administración junto con el ID del client de Google Analytics.

¿Deberías usar este paquete?

Este tipo de paquetes quizás pueda gustarle a muchos por la facilidad de generar el código y la lógica de elementos comunes dentro de una aplicación, pero quizás otros no piensen de la misma forma ya que pueden sentir como si el paquete te estuviera atando a una forma de programar. En lo personal tengo un punto de vista y es que los paquetes son como los colores, tenemos muchos y a su vez también tenemos a muchas personas con diferentes gustos hacia ellos.

Mas información

[github] [documentacion]

 

Si tienes alguna duda o sugerencia respecto al paquete o a la instalación puedes dejar tu comentario, no olvides compartir este contenido en las redes sociales.

Comparte este artículo

Entra en la discusión y deja tu comentario

  • rash07

    Esto hay que probarlo! Porque el señor Carlos no me habra comentado de voyager antes?

  • Juan sierra

    Hola carlos espero estes bien. estoy probando este paquete de voyager, ya lo instale pero no se porque no se ve bien, no se si hay que instalar bootstrap o que?

  • Andres Eduardo Lopez Hernandez

    Se ve muy interesante ese paquete, gracias por la información!

Veces