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
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' .
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
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
- 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
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.
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
- 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