Last active
June 23, 2023 15:32
-
-
Save lucas-lm/311a83654b207b95e897eefab3fe3adc to your computer and use it in GitHub Desktop.
Revisions
-
lucas-lm revised this gist
Jun 8, 2023 . 1 changed file with 0 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -48,10 +48,3 @@ Recomendamos que visite alguns sites com esse propósito para se familiarizar co Certifique-se de seguir as melhores práticas de desenvolvimento, organização de código e estrutura do projeto. Sinta-se à vontade para utilizar bibliotecas e ferramentas adicionais (além do Next.js) e para criar outras funcionalidades. Vale lembrar que a ideia do desafio é mostrar o seu processo de trabalho e aprendizado! -
lucas-lm created this gist
Jun 8, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,57 @@ # Desafio técnico: Portal de Notícias ## Visão geral Seu objetivo é criar um portal de notícias responsivo utilizando o framework Next.js. O site deve consumir uma API pública de notícias e exibir os dados no frontend. Escolha uma API que ofereça uma chave de API gratuita ou utilize uma chave de API de teste. ## Requisitos 1. Configurar um projeto Next.js ([Next.js by Vercel - The React Framework](https://nextjs.org/)). 2. Criar uma página inicial que exiba cards das notícias da API pública. 3. Os cards podem conter: - Título da notícia [Obrigatório] - Fragmento da notícia [Opcional] - Uma imagem ilustrativa da notícia [Opcional] - Autor [Opcional] - Data da Publicação [Opcional] 4. Cada card, ao ser clicado, deve redirecionar o usuário para uma página de detalhes para exibir as informações completas de uma notícia específica. 5. Páginas de detalhes podem conter: - Título [Obrigatório] - Texto da notícia [Obrigatório] - Data de publicação [Opcional] - Autor [Opcional] 6. Configurar uma API do Next.js para lidar com as requisições do backend. (Saiba mais em [Routing: API Routes | Next.js](https://nextjs.org/docs/pages/building-your-application/routing/api-routes)) 7. Garantir que o código esteja versionado em um repositório Git e fazer commits regulares e semânticos ao longo do desenvolvimento. ## API pública de notícias Você pode utilizar uma API pública de notícias de sua escolha para obter os dados. Alguns exemplos de APIs populares incluem: * News API: https://newsapi.org/ * New York Times: https://developer.nytimes.com/apis * GNews API: https://gnews.io/ Você pode encontrar mais APIs públicas no https://github.com/public-apis/public-apis#news Fique a vontade para usar qualquer outra API de sua preferência também! ## Entrega Você deve anexar o resultado do desafio no formulário de inscrição em um documento ZIP contendo o código do projeto e quaisquer instruções adicionais necessárias para executá-lo localmente. Lembre-se de não incluir a pasta node_modules e capriche no seu README.md! ## Observações Recomendamos que visite alguns sites com esse propósito para se familiarizar com o formato. Seguem alguns exemplos: * Nexo Jornal: https://www.nexojornal.com.br/; * Poder360: https://www.poder360.com.br/; * Reuters: https://www.reuters.com/; Certifique-se de seguir as melhores práticas de desenvolvimento, organização de código e estrutura do projeto. Sinta-se à vontade para utilizar bibliotecas e ferramentas adicionais (além do Next.js) e para criar outras funcionalidades. Vale lembrar que a ideia do desafio é mostrar o seu processo de trabalho e aprendizado! ## O que vamos observar (para nossa referência) * Organização; * Commits semânticos; * Domínio do CSS (destrinchar); * Domínio do HTML (destrinchar); * Boas práticas (destrinchar);