Imagem feita pela Ília Digital
API desenvolvida em Node.JS como parte do teste para pleitear a vaga de desenvolvedor backend na Ília Digital
Para visualizar os requisitos, acesso o arquivo TESTE.md, clicando aqui
Existem duas maneiras de realizar o clone de um repositório, sendo elas: SSH e HTTPS.
Para clonar utilizando SSH, utilize o seguinte comando:
git clone git@github.com:KelseyJr/TheMoviesIliaDigital.git
Para clonar utilizando HTTPS, utilize o seguinte comando:
git clone https://github.com/KelseyJr/TheMoviesIliaDigital.git
Após o clone do repositório, é necessário realizar o download das dependências que foram utilizadas nesse projeto.
Para efetuar o download, usando yarn, utilize do seguinte comando:
yarn
Para efetuar o download, usando npm, utilize do seguinte comando:
npm install
Para configurar as variáveis ambientes, deve-se criar o arquivo .env
, copiar as informações contidas
no arquivo .env.example
e colar no arquivo recém-criado. Após isso, os dados do arquivo gerado devem ser preenchidos.
OBS: Por padrão, foi utilizado o banco de dados MongoDB. Caso queira usar outro, será necessário realizar as devidas alterações na API.
Neste projeto, contém as seguintes variáveis de ambiente:
- O nome do banco, MONGO_DB, que não é obrigatório, visto que já tem um valor default na configuração de conexão ao banco.
- O host do banco, MONGO_HOST, que não é obrigatório, visto que já tem um valor default na configuração de conexão ao banco.
- A porta do banco, MONGO_PORT, que não é obrigatório, visto que já tem um valor default na configuração de conexão ao banco.
- A chave de acesso da API The Movie Database API (https://developers.themoviedb.org/3/gettingstarted/introduction), API_KEY, que é obrigatório, para realizar a busca nessa API.
O seguinte projeto foi construído utilizando-se da metodologia TDD(Test Driven Development), em que consiste em criar o teste antes da funcionalidade.
Para rodar os testes, com yarn, execute o seguinte comando no seu console:
yarn test
Para rodar os testes, com npm, execute o seguinte comando no seu console:
npm run test
Antes de executar os testes, deverá colocar set antes do NODE_ENV no package .json, confore a imagem.
O projeto foi desenvolvido por partes, para garantir que todos os requisitos fosse atendidos.
Para iniciar o servidor, usando yarn, utilize do seguinte comando:
yarn dev
Para iniciar o servidor, usando npm, utilize do seguinte comando:
npm run dev
Na parte de filmes, é possível realizar um CRUD(create - read - update - delete).
Segue abaixo as informações da rota de cadastro de um filme.
Rota autenticada? | Método da rota | Nome da rota | Parâmetros (Request Body) | Retorno |
---|---|---|---|---|
Não | POST | /movies | 1 - movieId: Inteiro e obrigatório, que representa o id do filme na API The Movie Database API |
Um objeto contendo os dados do filme |
Segue abaixo as informações da rota de atualização de um filme.
Rota autenticada? | Método da rota | Nome da rota | Parâmetros (Request Params) | Retorno |
---|---|---|---|---|
Não | PUT | /movies/:id | 1 - id: String e obrigatório, que representa o ID no banco |
Um objeto contendo os dados do filme |
Segue abaixo as informações da rota de buscar apenas um filme.
Rota autenticada? | Método da rota | Nome da rota | Parâmetros (Request Params) | Retorno |
---|---|---|---|---|
Não | GET | /movies/:id | 1 - id: String e obrigatório, que representa o ID no banco |
Um objeto contendo os dados do filme |
Segue abaixo as informações da rota de buscar todos os filme.
Rota autenticada? | Método da rota | Nome da rota | Retorno |
---|---|---|---|
Não | GET | /movies | Um array de objetos com os dados dos filmes já cadastrado na aplicação |
Segue abaixo as informações da rota de exclusão de um filme.
Rota autenticada? | Método da rota | Nome da rota | Parâmetros (Request Params) | Retorno |
---|---|---|---|---|
Não | DELETE | /movies/:id | 1 - id: String e obrigatório, que representa o ID no banco |
Um objeto contendo os dados do filme |
Na parte de traduções dos filmes, é possível inserir os dados das traduções dos filmes.
Segue abaixo as informações da rota de inserir a tradução d eum filme.
Rota autenticada? | Método da rota | Nome da rota | Parâmetros (Request Params) | Retorno |
---|---|---|---|---|
Não | PATCH | /movies/:id/translations | 1 - id: String e obrigatório, que representa o ID no banco |
Um objeto contendo os dados do filme |
Pull requests serão sempre bem-vindas. Para grandes mudanças, crie uma issue para discurtimos o que você gostaria de mudar.
Claro, não se esqueça de atualizar os testes. 😉
Qualquer dúvida em relação ao projeto, crie uma issue ou mande um e-mail para kelseytfjunior@gmail.com, ou entre em contato pelo WhatsApp.