Projeto que utiliza a API pública do GitHub para pesquisar usuários, listar seus repositórios e seus detalhes.
Toda estilização foi baseada no Styleguide do GitHub!
Clique aqui para visualizar a aplicação!
- React JS
- React Hooks
- React Router
- Styled Components
Para padronização e organização de código, foram utilizados:
- ESLint
- Prettier
- Customize CRA (Create React App) e React App Rewired
Para definição e criação de layout:
- Figma
- Para acessar os dados do usuário e/ou os dados de um repositório específico, você pode utilizar a própria URL, seguindo a estrutura:
/Gmantiqueira
ou/Gmantiqueira/github-search
- Foi criada uma validação para erros vindos do servidor. A API pública do GitHub aceita somente 60 requisições por hora, após isso ela retorna erros do servidor.
- Apesar da especificação de pesquisar somente "um usuário", preferi implementar a pesquisa de usuários para melhor usabilidade.
- Na listagem de repositórios, estava especificado que a ordenação deveria ser feita na ordem decrescente de número de estrelas. Porém, a API não retorna os dados com essa ordenação. Só foi possível a ordenação manual na primeira página, as páginas seguintes não manterão a ordenação de estrelas.
- Foi criada também uma página 404.
- Foi hospedado no Heroku.
- Foi utilizado o serviceWorker do Create React App, com pequenas alterações no manifest.json. Provavelmente irei adicionar novas features relacionadas ao PWA eventualmente.
- Futuramente irei implementar Jest e Enzyme, ou Cypress, por motivos de treino e curiosidade. A implementação não ocorreu antes por questão do prazo.
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
Launches the test runner in the interactive watch mode.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!