Skip to content

leandroluk/ioasys_test-backend

Repository files navigation

Sobre

Estes documento README tem como objetivo fornecer as informações necessárias para realização do projeto de avaliação de candidatos.

🏗 O que fazer?

  • Você deve realizar um fork deste repositório e, ao finalizar, enviar o link do seu repositório para a nossa equipe. Lembre-se, NÃO é necessário criar um Pull Request para isso, nós iremos avaliar e retornar por email o resultado do seu teste.

🚨 Requisitos

  • A API deverá ser construída em NodeJS ou Rails
  • Implementar autenticação e deverá seguir o padrão JWT, lembrando que o token a ser recebido deverá ser no formato Bearer
  • Caso seja desenvolvida em NodeJS o seu projeto terá que ser implementado em ExpressJS ou SailsJS
  • Para a comunicação com o banco de dados utilize algum ORM/ODM
  • Bancos relacionais permitidos:
    • MySQL
    • MariaDB
    • Postgre
  • Bancos não relacionais permitidos:
    • MongoDB
  • Sua API deverá seguir os padrões Rest na construção das rotas e retornos
  • Sua API deverá conter a collection/variáveis do postman ou algum endpoint da documentação em openapi para a realização do teste
  • Serão aceitos testes somente em JavaScript buscando avaliar o entendimento completo da linguagem e não de estruturas ou dependências que abstraiam determinadas definições não alheias ao ECMAScript.

🕵🏻‍♂️ Itens a serem avaliados

  • Estrutura do Projeto
  • Segurança da API, como autenticação, senhas salvas no banco, SQL Injection e outros
  • Boas práticas da Linguagem/Framework
  • Seu projeto deverá seguir tudo o que foi exigido na seção O que desenvolver?
  • Migrations para a criação das tabelas do banco relacional

🎁 Extra

Esses itens não são obrigatórios, porém desejados.

  • Testes unitários
  • Linter
  • Code Formater

Obs.: Lembrando que o uso de algum linter ou code formater irá depender da linguagem que sua API for criada

🖥 O que desenvolver?

Você deverá criar uma API que o site IMDb irá consultar para exibir seu conteúdo, sua API deve conter as seguintes features:

  • Admin

    • Cadastro
    • Edição
    • Exclusão lógica (Desativação)
  • Usuário

    • Cadastro
    • Edição
    • Exclusão lógica (Desativação)
  • Filmes

    • Cadastro (Somente um usuário administrador poderá realizar esse cadastro)
    • Voto (A contagem dos votos será feita por usuário de 0-4 que indica quanto o usuário gostou do filme)
    • Listagem (deverá ter filtro por diretor, nome, gênero e/ou atores)
    • Detalhe do filme trazendo todas as informações sobre o filme, inclusive a média dos votos

Obs.: Apenas os usuários poderão votar nos filmes e a API deverá validar quem é o usuário que está acessando, ou seja, se é admin ou não

🔗 Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published