nano /var/log/random.log

Coding, life & stuff.

Alguna vez pensaste como seria una buena forma de mostrar que fuiste el developer que trabajó muchas horas en la creación de esa página web que te llevó bastante tiempo? Acá te voy a contar algo que puede ser que te sirva.

Y si, muchos seguro ya estan pensando que con la alternativa de http://humanstxt.org/ es suficiente, o que con esta meta etiqueta:

 <meta name="author" content="John Doe">

O colocando un link en el footer que lleve a tu página web.

Y si, todo eso esta bien pero me encontré con un paquete que permite mostrar por medio de una vista la información del developer.

Intente probar el paquete en una instalación nueva de laravel pero me dió un error y pues me puse a revisarlo y me encontré con algunas cosas que se pueden mejorar y es de lo que voy hablar en este post.

Básicamente el controlador original del paquete lo que hace es hacer una petición http por medio de curl al api de github para extraer información del perfil del developer.

Aprovechando desde hace algunas versiones laravel posee un cliente http me dispuse a mejorar esa consulta con curl y quedó de la siguiente forma:

public function getDataFromGithub()
{
    $append = 'client_id=' .config('its-my-code.GITHUB_CLIENT_ID'). '&client_secret=' .config('its-my-code.GITHUB_CLIENT_SECRET');
    $repos = $this->makeRequest('/repos?sort=pushed&'.$append);
    $user = $this->makeRequest('?' .$append);
    
    return [
        'user'  => $user,
        'repos' => $repos,
    ];
}

public function makeRequest(string $param)
{
    $response = Http::get('https://api.github.com/users/' . config('its-my-code.GITHUB_USERNAME') . $param);
    return $response->json();
}

El archivo de configuración del paquete cuenta con varias opciones para mostrar en el perfil

<?php

return [

    'GITHUB_USERNAME'       => '',  // your github username ( required )
    'INSTAGRAM_USERNAME'    => null,  // your instagram username
    'LINKEDIN_USERNAME'     => null,  // your linkedin username
    'REPO_COUNT'            => 8,     // number of repositories in page (int)
    'MOBILE'                => null,  // mobile in string
    'GITHUB_CLIENT_ID'      => env('GITHUB_CLIENT_ID'),  // see https://github.com/settings/developers
    'GITHUB_CLIENT_SECRET'  => env('GITHUB_CLIENT_SECRET'),  // see https://github.com/settings/developers
];

Y el resultado de todo eso sería algo como esto:

Espero que esto les parezca ultil.

Angel's avatar
Angel

Articulos relacionados

FunkLang

FunkLang, o funk, es un framework de front-end que es open-source y que combina flujos de trabajo visuales y de código que permiten a los diseñadores, desarrolladores y usuarios de low-code, trabajar juntos en una sola herramienta

Angel Cruz

Coding, life & stuff.

by: tepuilabs