O objetivo do desafio Ʃ construir uma API Restful com as melhores prƔticas de desenvolvimento, baseada na API Space Flight News.
Conceitos abordados:
- Utilizado MongoDB para registro dos artigos baixados/sincronizados com a API Space Flight News;
- CriaĆ§Ć£o de rotas (CRUD) para buscar, criar, atualizar e deletar artigos;
- Desenvolvido script para armazenar artigos da API no banco de dados;
- Criada funĆ§Ć£o CRON para rodar o script de sincronizaĆ§Ć£o do banco de dados diariamente Ć s 9h;
- Configurado ambiente Docker para execuĆ§Ć£o do projeto;
- Criado sistema de simulaĆ§Ć£o de alerta via email em caso de falha na execuĆ§Ć£o do script de sincronizaĆ§Ć£o dos artigos;
- Elaborado documentaĆ§Ć£o da API utilizando o conceito de Open API 3.0;
Em andamento:
[ ] Escrever Unit Tests para os endpoints da API.
Escrito testes das rotas do tipo GET.
- FaƧa um clone do repositĆ³rio:
git clone https://github.com/sergiofdf/challenge_backend_coodesh.git
- Abra a pasta do projeto
cd pasta-projeto
- Execute o comando para criaĆ§Ć£o do container e execuĆ§Ć£o do cĆ³digo (necessĆ”rio ter o Docker e Docker Compose instalado no PC):
docker-compose up
-
Executar as etapas para execuĆ§Ć£o do projeto apresentadas acima.
-
Exectuar o seguinte comando para iniciar testes:
yarn test
ApĆ³s executar o projeto, carregue sua documentaĆ§Ć£o e utilize/teste a API atravĆ©s da documentaĆ§Ć£o feita com o swagger:
-
[GET]/: Retorna um Status: 200 e uma Mensagem "Back-end Challenge 2021 š - Space Flight News"
-
[GET]/articles/: Lista todos os artigos da base de dados, utilizar o sistema de paginaĆ§Ć£o para nĆ£o sobrecarregar a REQUEST
-
[GET]/articles/{id}: Obter a informaĆ§Ć£o somente de um artigo
-
[POST]/articles/: Adicionar um novo artigo
-
[PUT]/articles/{id}: Atualizar um artigo baseado no id
-
[DELETE]/articles/{id}: Remover um artigo baseado no id
This is a challenge by Coodesh https://lab.coodesh.com/public-challenges/back-end-challenge-2021