Skip to content

Projeto backend de um sistema que controla filmes e quais pessoas já os assistiram.

License

Notifications You must be signed in to change notification settings

bbrunocosta/WeDecode-backend-test

Repository files navigation

WeDecode-backend-test

Desafio de programação para RecrutamentoCada da empresa WeDdecode.

Desafio Back-end - Sistema de Controle de Filmes

O objetivo é fazer o back-end de um sistema que controla filmes e quais pessoas já os assistiram. Não é preciso fazer o front, seu sistema pode ser acessado diretamente por uma API, vou usar o Postman para testar. Como é só um exercício também não é necessária autenticação/autorização.

Requisitos:

  • O back-end deve ser programado obrigatoriamente em Node.js ou .NetCore.
  • Deve ser usado algum ORM para mapear o banco de dados no código.

Casos de Uso:

  • Deve ser possível inserir novos filmes;

  • Deve ser possível ler a lista de filmes cadastrados;

  • Deve ser possível inserir novos espectadores;

  • Deve ser possível ler a lista de espectadores cadastrados;

  • Deve ser possível marcar que um espectador viu um filme;

  • Deve ser possível ver quantos filmes cada espectador viu;

  • Deve ser possível ver quantos espectadores um filme teve.

Pontos Extras:

  • Se você publicou o código em algum servidor que eu possa acessar diretamente;
  • Se o seu código está bem estruturado e comentado;
  • Se você escrever uma explicação simples de como a API deve ser acessada;
  • Se você me der acesso “somente leitura” ao seu banco de dados para eu verificar como ficou.

Techonologias usadas no projeto:

● Node.js     ● TypeScript

Metodologias usadas no projeto:

● TDD     ● SOLID     ● RESFULL

Design Patterns

Singleton     Factory     Helper     decorator     builder     composite    

API

INSERIR UM FILME

método: POST
uri: "/api/films"
body: {   
    "title": "Título do filme",
    "author": "Nome do author do filme",
    "director": "Node do diretor do filme"
}

VER A LISTA DE FILMES CADASTRADOS

método: GET 
uri: "/api/films"

VER A LISTA DE ESPECTADORES QUE UM FILME TEM JUNTO COM A QUANTIDADE DISTINTA

método: GET 
uri: "/api/films/audience/:film-id" 

INSERIR UM NOVO ESPECTADOR

método: POST 
uri: "/api/spectators"
{   
    "name": "Nome do espectador"
}

VER A LISTA DE ESPECTADORES CADASTRADOS

método: GET 
uri: "/api/spectators"

MARCAR UM FILME COMO ASSISTIDO

método: POST 
uri: "/api/spectators/films/:spectator-id"
body: {
  filmId: 'id do filme que deseja adicionar'
}

VER QUANTOS E QUAIS FILMES UM ESPECTADOR ASSISTIU

método: GET 
uri: "/api/spectators/films/:spectator-id"

VER QUANTOS ESPECTADORES UM FILME TEVE E QUAIS SAO ELES

método: GET 
uri: "/api/films/audience/:film-id"

About

Projeto backend de um sistema que controla filmes e quais pessoas já os assistiram.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published