Este projeto Ć© uma API para gerar imagens das principais skills estudadas na plataforma DIO.
Podemos gerar a seguinte imagem indicando apenas o nome do usuƔrio:
A ideia foi inspirada no famoso Github Stats Card, usado para gerar imagens dinâmicas das linguagens mais usadas por cada desenvolvedor a partir da anÔlise de seus repositórios no Github.
-
Para rodar o ambiente localmente, clone o repositório com o comando:
git clone https://github.com/Pitossomo/dio-users-api.git -
Instale as dependĆŖncias com o comando
npm install -
Na raiz do projeto, crie o arquivo
.env.localcom as variƔveis:
DIO_USERNAME=email.cadastrado.na.dio@exemplo.com
DIO_PASSWORD=senhaNaDIO
-
Rode o servidor em modo de desenvolvimento com o comando:
npm run dev -
No navegador, abra a pƔgina
http://localhost:3000/api/v1/skills?username=pedro_h_teles, alterando o nome de usuƔrio como desejar -
Para encontrar o seu nome de usuƔrio, visite seu perfil e veja o nome na barra de endereƧo. Por exemplo, na imagem abaixo o nome do usuƔrio Ʃ
pedro_h_teles:
-
Na primeira visita, aguarde o tempo para o carregamento. Nas visitas futuras, o carregamento serÔ instantâneo, desde que o servidor não seja reinicializado e o nome do usuÔrio seja o mesmo.
Hospedar o projeto em um servidor para criar as imagens dinâmicamente. Por se tratar de um projeto com alta latência, o custo de hospedagem ficou bem alto, sendo
A pĆ”gina dos usuĆ”rios Ć© acessĆvel apenas aos usuĆ”rios cadastradas na plataforma, e demanda autenticação.
Para possibilitar a coleta das informações, foi utilizada a biblioteca Puppeteer, o que demanda um alto tempo de processamento, jÔ que não existe API para acessar diretamente os dados do usuÔrio.
Sendo assim, a fim de minimizar o custo operacional e o impacto na plataforma, as imagens são salvas em cache no servidor durante 7 dias. A primeira requisição demora alguns segundos para ser gerada pelo servidor, e as requisições posteriores são resolvidas instantaneamente. Se o servidor reiniciar, o cache desaparece.