{"id":19041416,"url":"https://github.com/jveiiga/project-next-basic","last_synced_at":"2026-05-07T10:31:42.252Z","repository":{"id":106985377,"uuid":"465134200","full_name":"jveiiga/project-next-basic","owner":"jveiiga","description":"🚀⠀Projeto criado na maratona @Rocketseat com @diego3g. ","archived":false,"fork":false,"pushed_at":"2022-03-02T22:49:30.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-12T04:50:14.633Z","etag":null,"topics":["isr","middleware","next","react","ssg","ssr","typescript"],"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-03-02T02:51:06.000Z","updated_at":"2022-03-02T22:52:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"85d21868-f5ad-4a4a-8113-789bfae125d8","html_url":"https://github.com/jveiiga/project-next-basic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jveiiga/project-next-basic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-next-basic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-next-basic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-next-basic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-next-basic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jveiiga","download_url":"https://codeload.github.com/jveiiga/project-next-basic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveiiga%2Fproject-next-basic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32733410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["isr","middleware","next","react","ssg","ssr","typescript"],"created_at":"2024-11-08T22:29:14.453Z","updated_at":"2026-05-07T10:31:42.234Z","avatar_url":"https://github.com/jveiiga.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eProject Next Basic - Projeto criado na maratona Rocketseat 🚀\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Logo do projeto\" src=\"https://i.ytimg.com/vi/S5Qvi23VqaQ/maxresdefault.jpg\" width=\"1200\" height=\"350\"/\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"justify\"\u003eA maratona Rocketseat é gratuita, voltada para profissionais, estudantes e para todo mundo que quer aprender mais sobre front-end e programação. O projeto é um esboço, criado com Nextjs para aprender e entender algumas de suas funcionalidades nativas e como manipulá-las.\u003c/h4\u003e\n \n## 💻 Linguagens e tecnologias utilizadas\n\u003cp align=\"left\"\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://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://nextjs.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://decodenatura.com/static/fb8aa1bb70c9925ce1ae22dc2711b343/nextjs-logo.png\" alt=\"next\" width=\"40\" height=\"40\" max-width=\"100%\"\u003e\u003c/a\u003e   \n\n## Finalidade dos estudos \nEntender a diferença entre:\n\nMétodo client side render (Renderização lado cliente) \n  - Os dados são renderizados após o cliente já ter acessado a aplicação ou seja, geralmente é feito o uso do useState/useEffect para controle de estado\n\t   da aplicação e quando há uma nova modificação nos valores em tela a aplicação verifica no servidor e logo após carrega os dados atualizados.\n\t   No caso de Blogs ou sites que tem conteúdos que podem ser compartilhados, á uma pequena perda de dados na hora da verificação do conteúdo e, montagem do embedded (card), pois na hora da montagem do embedded (card) é que será feito pelo site que você deseja compartilhar o conteúdo, uma\n \t   verificação que é chamada de crawler, o crawler acessa sua página e tenta buscar por informações para montar seu embedded (card), ainda neste \n\t   modelo o site irá tentar buscar por informações para construir o embedded (card), mas o crawler não vai aguardar e o card retornará vazio.  \n\nMétodo server side render (Renderização lado servidor) \n  - Casos de uso mais tradicionais são blog e sites onde o conteúdo pode ser compartilhado. Nesses casos a utilização desse serviço é feita pelos motivos\n\t   citados a cima.\n\nMétodo Static Side Generation\n- Os dados são armazenados em cache por um período de acordo com as configurações desenvolvidas em código, sendo assim, quando a primeira pessoa fizer a primeira requisição dos dados esse valor é guardado no browser e durante esse período todos que acessarem a aplicação viram o mesmo conteúdo, diminuindo drasticamente o número de requisições para o banco de dados da aplicação.  \n\n\nOn-demand Incremental Static Regeneration (New feature)\n- Possibilita “forçar” um novo carregamento, independente do revalidação configurada. \n\nMiddleware\n- Possibilita “interceptar” as requisições do usuário. Podendo ser usado para interceptar um grupo de diretórios específicos.   \n\n## Instalação\n    - Clonar repositorio\n    $ git clone https://github.com/jveiiga/project-next-basic \u0026\u0026 cd project-next-basic\n## `npm run dev`\n    Abra http: // localhost: 3000 para visualizá-lo no navegador.\n\n## 👨‍🏫 Instrutor\n\n- \u003ca href=\"https://github.com/diego3g\"\u003eDiego Fernandes\u003c/a\u003e \n\n## 📚 Pesquisar/Aprender\n\n  - Aprender sobre modelo SPA (Single Page Application);\n  - Aprender sobre SSR (Server-Side Rendering) - Método de renderização lado servidor;\n  - Aprender sobre ISR(Increment Static Regeneration) - Método de atualização automática com REVALIDATE;\n  - Aprender sobre SSG(Static Site Generation) - Método de renderização onde o HTML é gerado de forma estatica no momento do build;\n  \n## 📂 Referencias\n  \u003cdetails\u003e\n    \u003csummary\u003eDecode #013\u003c/summary\u003e\n      - \u003ca href=\"https://vercel.com/blog/nextjs-server-side-rendering-vs-static-generation\"\u003eNext.js: Server-side Rendering vs. Static Generation\u003c/a\u003e \u003cbr\u003e\n      - \u003ca href=\"https://nextjs.org/learn/seo/crawling-and-indexing\"\u003eCrawling and Indexing\u003c/a\u003e \u003cbr\u003e\n      - \u003ca href=\"https://www.toptal.com/react-hooks/stale-while-revalidate\"\u003eStale-while-revalidate\u003c/a\u003e \u003cbr\u003e\n      - \u003ca href=\"https://nextjs.org/blog/next-12-1\"\u003eOn-demand Incremental Static Regeneration (Beta)\u003c/a\u003e \u003cbr\u003e\n      - \u003ca href=\"https://nextjs.org/docs/middleware\"\u003eMiddleware\u003c/a\u003e \u003cbr\u003e\n  \u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjveiiga%2Fproject-next-basic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjveiiga%2Fproject-next-basic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjveiiga%2Fproject-next-basic/lists"}