O Objetivo deste teste é construir uma API para a consulta, edição, inserção e exclusão sobre um conjunto de dados obtidos a partir da API de Dados do YouTube. Você deverá criar um projeto em .net Core utilizando a linguagem de programação C#. Também será necessário utilizar um banco de dados para persistir as informações coletadas da API. Para isso crie um banco SQLite vinculado ao projeto.
Ao final, você deverá enviar o código criado para um repositório de código, como o GitHub ou Bitbucket, por exemplo. Além do banco de dados SQLite, seu projeto não deverá possuir nenhuma dependência externa.
Chave da API do YouTube: Adquira uma chave gratuitamente do YouTube Data API. Lembre-se, a chave de API é um dado sensível e não deve estar presente no código-fonte. Use uma variável de ambiente para armazená-la.
Documentação da API do YouTube: Link
Utilizando a api do YouTube insira dados em um banco de dados do seu projeto de acordo com os seguintes parâmetros de consulta à api do YouTube:
-
Pesquisar por vídeos brasileiros
-
Os vídeos devem estar relacionados à manipulação de medicamentos
-
Todos os vídeos devem ser de 2022
Importante: Ao consumir os serviços da api do YouTube, você não deve utilizar nenhum pacote ou biblioteca. Construa métodos para requisitar as Urls das APIs e interpretar a resposta no formato Json (REST).
Crie um endpoint para filtrar os dados coletados e exibi-los em json, permitindo os seguintes parâmetros opcionais de busca:
-
Título
-
Duração
-
Autor
-
Vídeos criados após determinada data
-
Um parâmetro “q” que permita filtrar por título, descrição e nome do canal
Crie um endpoint que permita inserir dados no banco de dados seguindo a mesma estrutura que você definiu no item 1.
Crie um endpoint que permita atualizar os dados de qualquer um dos vídeos inseridos no banco de dados.
Você também deve disponibilizar um endpoint para excluir registros. Porém, neste endpoint, os registros não poderão ser de fato excluídos. Utilize um campo booleano para indicar que o registro foi excluído.
Você poderá implementar opcionalmente a autenticação JWT nos endpoints em que for aplicável.
Tente sempre retornar o código de resposta HTTP adequado para cada uma das ocasiões.
Quando for aplicável, faça o devido tratamento dos erros para que a API não lance exceções.
Vamos considerar quaisquer conhecimentos além dos exigidos neste teste que você queira demonstrar em sua implementação. Fique à vontade para usar todo o seu repertório de conhecimento 😉.
- O desafio deve ser realizado em 7 dias a partir da data de envio do desafio. O gerenciamento do tempo e também sera um fator de análise.
- Ao término do teste você deverá enviar um e-mail contendo o link para o repositório criado e as instruções para compilar/executar seu projeto. Você também poderá encaminhar quaisquer informações que julgar úteis acerca de seu projeto.
Boa Sorte!!