carololiveira6 / python-e10-kenzie-serie

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Table of Contents

E10 - Kenzie Serie

Para essa entrega você criará um sistema para armazenamento e criação de series.

Objetivo

Essa atividade foi elaborada para trabalhar seus conhecimentos de Flask e PostgreSQL.

Preparativos

Você deverá seguir a seguinte estrutura de pastas:

├── app

│ ├── __init__.py

│ ├── services

│ │ └── __init__.py

│ └── views

│ └── __init__.py

├── .gitignore

└── requirements.txt

OBS: Siga os endpoints, status codeassinatura da função e as especificações da database como o esperado se não irá perder nota.

Nota: Os retornos NÃO precisam seguir na mesma ordem apresentada.

Exemplos de entrada e saída

Todos os exemplos de entrada e saída estão nesse link.

Kenzie Serie

Database

Você deverá criar sua base seguindo o seguinte padrão abaixo:

  • NOME DA TABELA: ka_series
  • id:  BIGSERIAL, PRIMARY KEY
  • serie: VARCHAR(100), NOT NULL, UNIQUE
  • seasons: INTEGER, NOT NULL
  • released_date: DATE, NOT NULL
  • genre: VARCHAR(50), NOT NULL
  • imdb_rating: FLOAT, NOT NULL

Rotas

Rota /series

  • Especificações da rota:
    • Assinatura da função:
      • create()
    • Deverá aceitar o método:
      • POST
    • Rotina deverá ser:
      • Criação da tabela no seu banco de dados caso ela não exista.
      • Inserção da série que foi mandada pela requisição na tabela do seu banco de dados.
      • Os valores de seriegenre deverá ser salvo no formato de título.
    • Retorno:
      • Um dicionário com as informações pessadas pela requisição.
      • Status code 201.

Rota /series

  • Especificações da rota:
    • Assinatura da função:
      • series()
    • Deverá aceitar o método:
      • GET
    • Rotina deverá ser:
      • Seleção de todos os dados da tabela.
    • Retorno:
      • Caso haja dados na tabela deverá retornar: 
        • Uma lista de dicionários com o resultado da seleção feita.
        • Status code 200.
      • Caso não haja dados na tabela deverá retornar:
        • Uma lista vazia.
        • Status code 200.
      • Caso a tabela não exista:
        • Deverá fazer a criação da tabela.
        • E retornará uma lista vazia
        • Status code 200

Rota /series/int:serie\_id

  • Especificações da rota:
    • Assinatura da função:
      • select_by_id()
    • Deverá aceitar o método:
      • GET
    • Rotina deverá ser:
      • Seleção de um dado da tabela filtrado pelo id.
    • Retorno:
      • Caso haja dados na tabela deverá retornar: 
        • Um dicionário de dicionário com o resultado da seleção feita.
        • Status code 200.
      • Caso não haja dados na tabela ou não exista o respectivo id deverá retornar:
        • Um dicionário.
        • Status code 404.
      • Caso a tabela não exista:
        • Deverá fazer a criação da tabela.
        • E retornar um dicionário.
        • Status code 404

Entregáveis

Repositório

  • Link do repositório do GitLab
  • Código fonte:
    • Diretório app.
  • Privacidade
    • Incluir ka-br-out-2020-correcoes como reporter.

-----

Critérios de aceitação

Pts Dado Quando É esperado
0.5 database dado o formato que siga o formato
1.5 rota /series feito a requisição na rota siga o esperado
1.5 rota /series feito a requisição na rota siga o esperado
1.5 rota /series/int:serie\_id feito a requisição na rota siga o esperado
Boa diversão!! 😉

About

License:GNU Affero General Public License v3.0


Languages

Language:Python 99.6%Language:JavaScript 0.1%Language:PowerShell 0.1%Language:C 0.1%Language:CSS 0.1%Language:Shell 0.0%