{"id":19041423,"url":"https://github.com/jveiiga/project-data-fetching","last_synced_at":"2026-04-11T19:02:40.292Z","repository":{"id":106985225,"uuid":"460116447","full_name":"jveiiga/project-data-fetching","owner":"jveiiga","description":"🚀⠀Projeto criado na maratona @Rocketseat com @diego3g. ","archived":false,"fork":false,"pushed_at":"2022-02-18T23:10:36.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T07:21:04.939Z","etag":null,"topics":["css3","git","html5","react","reactquery","typescript","vitejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jveiiga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-16T17:53:59.000Z","updated_at":"2022-02-17T22:14:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"27962c06-192c-4ad6-91f6-69ff3119ed09","html_url":"https://github.com/jveiiga/project-data-fetching","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-data-fetching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-data-fetching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-data-fetching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-data-fetching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jveiiga","download_url":"https://codeload.github.com/jveiiga/project-data-fetching/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240100512,"owners_count":19747683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css3","git","html5","react","reactquery","typescript","vitejs"],"created_at":"2024-11-08T22:29:15.649Z","updated_at":"2025-12-30T20:10:22.303Z","avatar_url":"https://github.com/jveiiga.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eProject Data Fetching - Projeto criado na maratona Rocketseat 🚀\u003c/h1\u003e\n\u003ch4 align=\"justify\"\u003eA maratona Rocketseat é gratuita, voltada para profissionais, estudantes e para todo mundo que quer aprender mais sobre front-end.\u003c/h4\u003e\n\n## 💻 Linguagens, tecnologias e libs utilizadas\n\u003cp align=\"left\"\u003e \n\u003ca href=\"https://www.w3.org/html/\" target=\"_blank\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-original-wordmark.svg\" alt=\"html5\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \n\u003ca href=\"https://www.w3schools.com/css/\" target=\"_blank\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-original-wordmark.svg\" alt=\"css3\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \n\u003ca href=\"https://reactjs.org/\" target=\"_blank\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/react/react-original-wordmark.svg\" alt=\"react\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e\n\u003ca href=\"https://vitejs.dev/guide/\" target=\"_blank\"\u003e \u003cimg src=\"https://camo.githubusercontent.com/61e102d7c605ff91efedb9d7e47c1c4a07cef59d3e1da202fd74f4772122ca4e/68747470733a2f2f766974656a732e6465762f6c6f676f2e737667\" alt=\"vite\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e\n\u003ca href=\"https://www.typescriptlang.org/docs/handbook/2/generics.html\" target=\"_blank\"\u003e\u003cimg src=\"https://appmasters.io/static/typescript-logo-26cc95f255ccb936d154b43614f61602.png\" alt=\"typescript\" width=\"40\" height=\"40\" max-width=\"100%\"\u003e \u003c/a\u003e\n\u003ca href=\"https://nodejs.org\" target=\"_blank\"\u003e \u003cimg src=\"https://miro.medium.com/max/400/1*Yt_kxgaoVwFX_lO3lwZPlg.png\" alt=\"nodejs\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e  \n\u003ca href=\"https://git-scm.com/\" target=\"_blank\"\u003e \u003cimg src=\"https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg\" alt=\"git\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \n  \u003ca href=\"https://www.npmjs.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://fknop.gallerycdn.vsassets.io/extensions/fknop/vscode-npm/3.3.0/1474455291139/Microsoft.VisualStudio.Services.Icons.Default\" alt=\"npm\" width=\"60\" height=\"40\"/\u003e \u003c/a\u003e\n  \n\n## Funcionalidades\n  - Utilização de status de carregamento. \n  - Redução de requisições pelo tempo que o usuário permanece utilizando a aplicação atual.\n\n\n## Instalação\n\n    - Clonar repositorio\n    $ git clone https://github.com/jveiiga/project-data-fetching.git \u0026\u0026 cd project-data-fetching\n\n    - Instalar dependencias\n    $ npm install\n\n    - Rodar aplicativo\n    $ npm run dev\n\n## 👨‍🏫 Instrutor\n\n- \u003ca href=\"https://github.com/diego3g\"\u003eDiego Fernandes\u003c/a\u003e \n\n## 📚 Aprendizagem\n\n  - 'Puxar' o resultado da API com React Query,\n  - Carregamento de listas com staleTime para evitar o uso excesivo de requisições com React Query, \n  - Entender melhor como funciona a ligação entre as páginas com React Route Dom,\n  - Organizar melhor os arquivos,\n  - Entender como a acessibilidade funciona no React (encontrei alguns desafios nessa parte),\n  - Componentizar melhor as tag para fazer com que as paginas tenham menos informações,\n  - Pesquisar boas práticas com React, Vite e TypeScript.\n  \n## 📚 Desafios\n  - Decode #009\n    - [x] Pegar os dados da API do GitHub;\n    - [x] Utilizar a lib axios para fazer o fetch;\n    - [x] Construir componentes com APIs bem definidas, consistentes e reutilizáveis;\n    - [x] Utilizar generics e tipagem dinâmica;\n    - [x] Separar e organizar o seu código;\n    - [x] Rotas com React Router Dom.\n\n## 📂 Referencias\n  \u003cdetails\u003e\n    \u003csummary\u003eAula #009\u003c/summary\u003e\n      - \u003ca href=\"https://vitejs.dev/guide/\"\u003eGetting Started com Vite\u003c/a\u003e \u003cbr\u003e\n      - \u003ca href=\"https://www.typescriptlang.org/docs/handbook/2/generics.html\"\u003eGenerics - TypeScript\u003c/a\u003e \u003cbr\u003e\n      - \u003ca href=\"https://react-query.tanstack.com/\"\u003eReact Query - Stale While Revalidate\u003c/a\u003e \u003cbr\u003e\n      \n  \u003c/details\u003e\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjveiiga%2Fproject-data-fetching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjveiiga%2Fproject-data-fetching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjveiiga%2Fproject-data-fetching/lists"}