Skip to content

Instantly share code, notes, and snippets.

@lucas-lm
Last active June 23, 2023 15:32
Show Gist options
  • Save lucas-lm/311a83654b207b95e897eefab3fe3adc to your computer and use it in GitHub Desktop.
Save lucas-lm/311a83654b207b95e897eefab3fe3adc to your computer and use it in GitHub Desktop.

Revisions

  1. lucas-lm revised this gist Jun 8, 2023. 1 changed file with 0 additions and 7 deletions.
    7 changes: 0 additions & 7 deletions tech-challenge-news-portal.md
    Original 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!


    ## 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);
  2. lucas-lm created this gist Jun 8, 2023.
    57 changes: 57 additions & 0 deletions tech-challenge-news-portal.md
    Original 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);