O escopo do projeto consiste em construir um micro serviço dockerizado com network compartilhada entre a aplicação e o banco que seja capaz de capturar e indexar as informações de um filme e suas legendas em uma base de dados à partir de chamadas a endpoints.
- API padrão REST
- Utilização de Node.js
- Utilização de banco de dados MongoDb
- Node.js
- Typescript
- Mongo DB Atlas
- Mongoose
- Express
- Axios
- Jest
- Docker
- Docker Compose
- Postman para teste da API
npm install
para instalar todas as dependências;npm test
para rodar os testes do projeto;npm run start
para rodar localmente o projeto.docker-compose up
para rodar a aplicação via Docker 🐋
- Adicionar filme
POST /movies/add/{movieId}
A rota deve receber um movieId
através de path param. Este endpoint bate em um endpoint externo na API do TMDB GET /movie/{movieId}
para pegar as informações do filme e depois no endpoint desta mesma API externa GET /movie/{movie_id}/translations
para salvar as legendas, conforme explicitado na documentação do desafio.
- Buscar todos filmes salvos no banco de dados
GET /movies/all/?limit=100&skip=0
A rota recebe através do query params o limite de filmes que serão buscados e a partir de qual através de limit
e skip
respectivamente para gerar a paginação.
Exemplo de resposta:
"movies": [
{
"_id": "5fb33c94c47d37e5f4ec75fa",
"original_title": "Life in Loops (A Megacities RMX)",
"overview": "Timo Novotny labels his new project an experimental music documentary film, in a remix of the celebrated film Megacities (1997), a visually refined essay on the hidden faces of several world.
"translations": [
{
"data": {
"overview": "Мултимедийният артист Тимо Новотни нарича своя нов проект \"експериментален музикален документален филм\". Творбата е ремикс на известния Мегаполиси (Megacities, 1997) - изтънчен визуален размисъл",
"title": "Живата гора"
},
"_id": "5fb33c94c47d37e5f4ec75fb",
"english_name": "Bulgarian"
},
{
"data": {
"overview": "",
"title": ""
},
"_id": "5fb33c94c47d37e5f4ec75fc",
"english_name": "German"
},
Lourenço Passos | Desenvolvedor Web Fullstack | [email protected] | 51-996106010