/github-repo-list

API Rest + Client Web para listagem de repositórios de usuário do GitHub :octocat:

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

version

Github Repo List

API Rest + Client Web para listagem de repositórios de usuário do GitHub :octocat:

Desafio rápido proposto em processo seletivo para bolsa de desenvolvedor no Laboratório de Raio X da UFC

  • Backend construído com Express Js
  • Frontend construído com React Js

Instruções para execução da API em ambiente de desenvolvimento

Para instalar todas as dependências, execute em ./api:

npm install

Para rodar o servidor localmente, use:

npm run dev

A aplicação irá rodar com nodemon, que irá observar as alterações no código para restart do servidor, e a variável de ambiente de desenvolvimento será configurada com 'development' .

Instruções para execução da API em ambiente de produção

Para rotar a aplicação localmente em modo de produção, em ./api, use:

npm start

As dependências de produção serão pré-instaladas. Caso queira pular o passo de instalação, use:

node server.js

Instruções para execução de testes automatizados na API

Após instalar todas as depedências, em ./api use:

npm test

Os scripts contidos na pasta de testes serão executados pelas bibliotecas jest e supertest

Observações

  • As requisições à API do GitHub possuem uma taxa de 60 requisições por hora, passado desse limite a API responderá com 403
  • As requisições podem ser extendidas à 5000 requisições por hora com um token de autenticação que pode ser gerado na plataforma
  • O token pode ser setado na variável ambient GITHUB_TOKEN
  • Use ./api/env.example para o ambiente de desenvolvimento e ./api/.env (não versionado) para ambiente de produção
  • Por default, o servidor irá rodar na em http://localhost:3333, outra porta poderá ser configurada pela variável ambiente PORT
  • A rota para requisições à API do GitHub será GET http://localhost:3333/github-repos/{username}
  • A rota aceitará um parêmetro 'page' para controle da paginação

Instruções para execução do cliente React em ambiente de desenvolvimento

Em ./client instale todas as dependências com:

npm install

Execute o servidor de desenvolvimento React localmente com:

npm run dev

O servidor irá rodar em http://localhost:3000 caso a porta não esteja ocupada.

Instruções para execução do cliente React em ambiente de produção

Para rodar o servidor de produção com a build (versionada) gerada em React js localmente, em ./client use:

npm start

As dependências de produção serão pré-instaladas. Caso queira pular o passo de instalação, use:

node server.js

Observações

  • Por default, o servidor de produção irá rodar em http://localhost:3000, outra porta poderá ser configurada pela variável ambiente PORT
  • Para testes de requisição locais, a API deve estar rodando em http://localhost:3333