codwelt

Paquete codviews

Codviews es un paquete desarrollado en php para la comundidad de laravel, Este pretende ayudarnos de forma muy rapida en saber el impacto que esta teniendo nuestra web en el mundo, suministrandonos una serie de datos que nos ayudan a dimensionar los datos recolectados.

por Sergio David Wiesner Maciashace 1 año

Paquete codviews

Codviews es un paquete desarrollado en php para la comundidad de laravel, Este pretende ayudarnos de forma muy rapida en saber el impacto que esta teniendo nuestra web en el mundo, suministrandonos una serie de datos que nos ayudan a dimensionar los datos recolectados.

Cuenta con api diseñada para acomplarse con graficas o cualquier recurso que queramos para la visualización de lo que pasa en la web.

Alguno de los datos que nos ofrece codview es la cantidad de persona que visitan nuestra pagina, la ip que hace la visita, la ubicación geografica y otras serie de datos que nos ayudara a saber  el impacto que esta teniendo geograficamente.

Instalación

Para poder utilizar el paquete tenemos que hacer un composer requiere:

composer require codwelt/codviews

Despues de haberse instalao el paquete haremos un

composer dump-autoload

Con esto nos aseguramos de que el paquete se haya instalado correctamente, siguiente a esto publicaremos los archivos necesarios para el paquete.

php artisan vendor:publish

Con esto habremos publicado en el proyecto las vistas, seeders, configuración y middleware del paquete. paso siguiente sera ejecutar las  migraciones del paquete.

php artisan migrate

ahora ya que hayamos realizado las migraciones con exito, ejecutaremos el seed de la configuración inicial

php artisan db:seed --class=Configcodviewseed

Ahora ya tenemos instalado el paquete con exito ¡¡¡ felicidades !!!.

Configuración del paquete

ya que el paquete esta instalado exitosamente ahora debemos configurarlo, no hay de que preocuparse si ejecutamos el paso anterior del seeder, ya que este le deja una configuración default al paquete. De igual forma tenemos que hacer la configuración de middleware para las rutas y el metodo de activación del registro de visitas.

Configuración de middleware para las rutas

Hay rutas a las cuales se les puede colocar un middleware para que solo usuarios logueados o los criterio que proponga sean ejecutados y no quede abierto a todo el publico.

Por esto si nos dirigimos a la carpeta config/codviews.php nos encontraremos con algo parecido a esto :

return [
    'Middleware' => [
        'web' => [
            'admin' => [
                'web',
                'auth'
            ],
        ],
    ],
];

en la sección ubicada en el centro llamada admin podemos colocar un array de middlewares que se ejecutaran  sobre las rutas del paquete.

 

Activador de registro visita

Para poder obtener el registro  de la visita debemos ejecutar un disparador de registros,  el cual va a obtener todos los datos necesarios del visitante y los guardara en la base de datos para su visualización por parte de la administración.

Se puede activar ese disparador de 2 formas, por medio de un Middleware a las rutas que queremos que se monitoren o por medio de ajax llamando a una ruta.

 

Metodo Middleware

Por el metodo middleware se utilizara un middleware que fue publicado cuando utilizamos el comando vendor:publish, este quedo publicado en la carpeta de middlewares del proyecto App\Http\Middleware\codviews.

para poder utilizar este middleware debemos registrarlo en el kernel de la siguiente forma:

  1. nos dirigimos a la carpeta App\Http y encontraremos un archivo llamado Kernel.php
  2. Pegaremos la ruta del middleware en la seccion de importación, como aparece en la siguiente imagen.
    use App\Http\Middleware\codviews\Rastreador;

  3. Ya importado el rastreador ahora procederemos a registrarlo para la utilización en las rutas, nos dirigremos hacia la parte de abajo del archivo a la variable llamada $routeMiddleware, agregaremos nuestro middleware de la siguiente forma.

    'Rastreador' => \App\Http\Middleware\codviews\Rastreador::class,
     

  4. Ya hecho esto lo que nos queda es utilizar el middleware en nuestras rutas.

Metodo AJAX

Este metodo es mucho mas facil que el anterior ya que tan solo necesitamo precisar de JQUERY, para la activación por este metodo debemos pegar este codigo javascript que es una llamada ajax a la ruta que dispara el rastreo, este codigo lo pegaremos en algun archivo js o script de las vistas que quieramos monitorear.

   $.ajax({
        url: "/codviews/rastreo/api",
        data: "",
        method: "get",
        success: function (result) {
            
        },
        error: function (result) {
            console.log(result);
        },
        beforeSend: function () {
        }
    });

Al hacerse esto, la llamada al rastreador nos devolvera los siguientes datos para  su utilización

  1. TotalVisitas; Total visitas registradas hasta el momento.
  2. continente: Continente desde donde se esta haciendo la visita.
  3. pais: Pais desde donde se esta haciendo la visita.
  4. region: Region desde donde se esta haciendo la visita.
  5. created_at: Fecha de la visita.

RUTAS

 

Para la obtención de los datos podremos utilizar las siguientes rutas que nos devolveran los datos de las visitas a la pagina

Esta ruta nos devolvera la pagina para la vizualización de todos los registros de visitas url('/codviews/inicio/') o route('CodviewInicio')

 

IMPORTANTE no mostrara las visitas hechas desde la ip que esta consultando las visitas, asi que si no ves las visitas que has hecho desde la misma ip es porque esta configurado para no hacerlo de resto mostrara las visitas hechas desde otras ip.

 


 

Esta ruta nos mostrara a detalle la visita de una ip en especifico url(/codviews/detalles/{id}) o route('CodviewDetalle')

 





Esta url nos trae la pagina de configuración del paquete que url('/codviews/configuracion/') o route('codviewsconfigcontroller');



RUTAS API
Esta url no traera las visitas hechas a la pagina al mes url('/codviews/visitas/graficas/mes/mes')



Esta url no traera las visitas hechas a la pagina al cada dia del mes url('/codviews/visitas/graficas/mes/dias')



Si llamamos a esta url podremos obtener datos geograficos de del historial de visitas hechas a la pagina

url('/codviews/visitas/graficas/demograficas/{opcion}')

esta ruta cuenta con una serie de opciones que podemos combinar como los datos que podemos obtener y el formato en el que los queremos obtener:

Forma de obtener

Agregamos a lo ultimo de la ruta la una variable get llamada relacion

Opciones para la variable relacion:

  1. numerico
  2. codigo

Opciones para datos demografico:

  1. paises
  2. continente
  3. ciudad
  4. region
relacion con el formato que queremos asi: 
https://codwelt.com/codviews/visitas/graficas/demograficas/paises?relacion=numerico

al hacer esta llamada me trajo lo siguiente en formato json

[
   {
      "Codigo":"US",
      "Pais":"United States",
      "CantidadRelativa":282,
      "CantidadAbsoluta":11735
   },
   {
      "Codigo":"CO",
      "Pais":"Colombia",
      "CantidadRelativa":79,
      "CantidadAbsoluta":4400
   },
   {
      "Codigo":"DE",
      "Pais":"Germany",
      "CantidadRelativa":10,
      "CantidadAbsoluta":51
   },
   {
      "Codigo":"CN",
      "Pais":"China",
      "CantidadRelativa":22,
      "CantidadAbsoluta":26
   },
   {
      "Codigo":"RU",
      "Pais":"Russia",
      "CantidadRelativa":16,
      "CantidadAbsoluta":19
   },
   {
      "Codigo":"JP",
      "Pais":"Japan",
      "CantidadRelativa":2,
      "CantidadAbsoluta":13
   },
   {
      "Codigo":"AU",
      "Pais":"Australia",
      "CantidadRelativa":2,
      "CantidadAbsoluta":13
   },
   {
      "Codigo":"CA",
      "Pais":"Canada",
      "CantidadRelativa":6,
      "CantidadAbsoluta":12
   },
   {
      "Codigo":"BR",
      "Pais":"Brazil",
      "CantidadRelativa":1,
      "CantidadAbsoluta":12
   },
   {
      "Codigo":"TH",
      "Pais":"Thailand",
      "CantidadRelativa":11,
      "CantidadAbsoluta":11
   },
   {
      "Codigo":"NL",
      "Pais":"Netherlands",
      "CantidadRelativa":7,
      "CantidadAbsoluta":10
   },
   {
      "Codigo":"FR",
      "Pais":"France",
      "CantidadRelativa":9,
      "CantidadAbsoluta":9
   },
   {
      "Codigo":"IN",
      "Pais":"India",
      "CantidadRelativa":2,
      "CantidadAbsoluta":7
   },
   {
      "Codigo":"IE",
      "Pais":"Ireland",
      "CantidadRelativa":5,
      "CantidadAbsoluta":5
   },
   {
      "Codigo":"GB",
      "Pais":"United Kingdom",
      "CantidadRelativa":4,
      "CantidadAbsoluta":5
   },
   {
      "Codigo":null,
      "Pais":null,
      "CantidadRelativa":3,
      "CantidadAbsoluta":5
   },
   {
      "Codigo":"SE",
      "Pais":"Sweden",
      "CantidadRelativa":1,
      "CantidadAbsoluta":4
   },
   {
      "Codigo":"KR",
      "Pais":"Republic of Korea",
      "CantidadRelativa":2,
      "CantidadAbsoluta":4
   },
   {
      "Codigo":"CL",
      "Pais":"Chile",
      "CantidadRelativa":2,
      "CantidadAbsoluta":3
   },
   {
      "Codigo":"IT",
      "Pais":"Italy",
      "CantidadRelativa":1,
      "CantidadAbsoluta":2
   },
   {
      "Codigo":"ES",
      "Pais":"Spain",
      "CantidadRelativa":2,
      "CantidadAbsoluta":2
   },
   {
      "Codigo":"IR",
      "Pais":"Iran",
      "CantidadRelativa":1,
      "CantidadAbsoluta":2
   },
   {
      "Codigo":"ID",
      "Pais":"Indonesia",
      "CantidadRelativa":2,
      "CantidadAbsoluta":2
   },
   {
      "Codigo":"MX",
      "Pais":"Mexico",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   {
      "Codigo":"UA",
      "Pais":"Ukraine",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   {
      "Codigo":"DZ",
      "Pais":"Algeria",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   {
      "Codigo":"TR",
      "Pais":"Turkey",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   {
      "Codigo":"GT",
      "Pais":"Guatemala",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   {
      "Codigo":"LT",
      "Pais":"Republic of Lithuania",
      "CantidadRelativa":1,
      "CantidadAbsoluta":0
   }
]

Donde la cantidad relativa es la cantidad de visitas hechas por diferentes personas y la cantidad absoluta es la cantidad de visitas hechas por todas las personas.

Ahora haremos la misma consulta de relacion codigo

https://codwelt.com/codviews/visitas/graficas/demograficas/paises?relacion=codigo
{
   "US":{
      "Pais":"United States",
      "CantidadRelativa":282,
      "CantidadAbsoluta":11735
   },
   "CO":{
      "Pais":"Colombia",
      "CantidadRelativa":79,
      "CantidadAbsoluta":4400
   },
   "DE":{
      "Pais":"Germany",
      "CantidadRelativa":10,
      "CantidadAbsoluta":51
   },
   "CN":{
      "Pais":"China",
      "CantidadRelativa":22,
      "CantidadAbsoluta":26
   },
   "RU":{
      "Pais":"Russia",
      "CantidadRelativa":16,
      "CantidadAbsoluta":19
   },
   "AU":{
      "Pais":"Australia",
      "CantidadRelativa":2,
      "CantidadAbsoluta":13
   },
   "JP":{
      "Pais":"Japan",
      "CantidadRelativa":2,
      "CantidadAbsoluta":13
   },
   "CA":{
      "Pais":"Canada",
      "CantidadRelativa":6,
      "CantidadAbsoluta":12
   },
   "BR":{
      "Pais":"Brazil",
      "CantidadRelativa":1,
      "CantidadAbsoluta":12
   },
   "TH":{
      "Pais":"Thailand",
      "CantidadRelativa":11,
      "CantidadAbsoluta":11
   },
   "NL":{
      "Pais":"Netherlands",
      "CantidadRelativa":7,
      "CantidadAbsoluta":10
   },
   "FR":{
      "Pais":"France",
      "CantidadRelativa":9,
      "CantidadAbsoluta":9
   },
   "IN":{
      "Pais":"India",
      "CantidadRelativa":2,
      "CantidadAbsoluta":7
   },
   "GB":{
      "Pais":"United Kingdom",
      "CantidadRelativa":4,
      "CantidadAbsoluta":5
   },
   "":{
      "Pais":null,
      "CantidadRelativa":3,
      "CantidadAbsoluta":5
   },
   "IE":{
      "Pais":"Ireland",
      "CantidadRelativa":5,
      "CantidadAbsoluta":5
   },
   "SE":{
      "Pais":"Sweden",
      "CantidadRelativa":1,
      "CantidadAbsoluta":4
   },
   "KR":{
      "Pais":"Republic of Korea",
      "CantidadRelativa":2,
      "CantidadAbsoluta":4
   },
   "CL":{
      "Pais":"Chile",
      "CantidadRelativa":2,
      "CantidadAbsoluta":3
   },
   "ES":{
      "Pais":"Spain",
      "CantidadRelativa":2,
      "CantidadAbsoluta":2
   },
   "IR":{
      "Pais":"Iran",
      "CantidadRelativa":1,
      "CantidadAbsoluta":2
   },
   "ID":{
      "Pais":"Indonesia",
      "CantidadRelativa":2,
      "CantidadAbsoluta":2
   },
   "IT":{
      "Pais":"Italy",
      "CantidadRelativa":1,
      "CantidadAbsoluta":2
   },
   "DZ":{
      "Pais":"Algeria",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   "TR":{
      "Pais":"Turkey",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   "GT":{
      "Pais":"Guatemala",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   "MX":{
      "Pais":"Mexico",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   "UA":{
      "Pais":"Ukraine",
      "CantidadRelativa":1,
      "CantidadAbsoluta":1
   },
   "LT":{
      "Pais":"Republic of Lithuania",
      "CantidadRelativa":1,
      "CantidadAbsoluta":0
   }
}

comentarios:

Hashtags


codviews composer laravel views

Nuestro Timeline