Skip to content

This Java project is a API REST for users consulting and controls his watched series

Notifications You must be signed in to change notification settings

tamireshc/minhas-series

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minhas Séries 🎥

A aplicação minhas séries é uma API REST para gestão de séries vistas por um usuário.
O objetivo do projeto é proporcionar uma manéira fácil para controlar as séries assistidas, detalhando o seus avanço a cada episódio.

É possível:

  • Cadastrar e visualizar as séries que já assisti;
  • Adicionar episódios a séries que já assistidas (indicando o número do episódio e o tempo em minutos que ele possui);
  • Remover série com os seus episódios;
  • Visualizar episódios assistidos de uma determinada séries;
  • Visualizar tempo gasto total de todos os episódios já assistidos em todas as séries."

🔍 Tecnologias utilizadas

📋 Execute o projeto em sua máquina

Clone o repositório:
git clone git@github.com:tamireshc/minhas-series.git
cd minhas-series

Instale as dependências:
mvn install

Rode o projeto
mvn spring-boot:run

🕵 Diagrama UML da API

Sem Título

🔎 Documentação da API

📣 Séries

  • Visualizar séries
GET api/series

Corpo da resposta:

[
    {
        "id": 1,
        "nome": "Doctor Who",
        "episodios": []
    },
    {
        "id": 2,
        "nome": "Friends",
        "episodios": []
    }
]
  • Cadastro de série
  POST api/series
Parâmetro Tipo Descrição
nome string Nome da série.

Corpo da resposta:

{
    "id": 1,
    "nome": "Doctor Who",
    "episodios": []
}
  • Adicionar episódios
  POST api/series/:id/episodios
Parâmetro Tipo Descrição
numero int Número do episódio
duracaoEmMinutos int duração em minutos do episódio

Corpo da resposta:

{
    "id": 1,
    "nome": "Doctor Who",
    "episodios": [
        {
            "id": 2,
            "numero": 1,
            "duracaoEmMinutos": 60
        }
    ]
}
  • Remover séries
  DELETE api/series/:id
  • Visualizar episódios de uma série
GET api/series/:id/episodios

Corpo da resposta:

[
  {
    "id": 2,
    "numero": 1,
    "duracaoEmMinutos": 60
  }
]
  • Visualizar tempo gasto
  GET api/series/tempo

Corpo da resposta:

{
  "tempoEmMinutos": 600
}

Casos de Falha

  • Cadastro de série com nome existente deve emitir a exceção SerieExistenteException
  • Tentativas de acesso a uma série que não exista deve emitir a exceção SerieNaoEncontradaException
  • Adição de episódios com o mesmo número para a mesma série deve emitir a exceção EpisodioExistenteException
  • Casos de erro não mapeados neste documento devem emitir a exceção ErroInesperadoException

About

This Java project is a API REST for users consulting and controls his watched series

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages