Skip to content

Criação de uma API com FastAPI para gerenciar filmes e suas avaliações.

Notifications You must be signed in to change notification settings

LidiaDomingos/FilmRating

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

API de Filmes e Avaliações

Essa é uma API criada com o FastAPI para gerenciar filmes e suas avaliações.

O diagrama ER do projeto está abaixo:

Imagem do WhatsApp de 2023-04-28 à(s) 18 11 10

O vídeo descrevendo e demonstrando as atualizações do handout 02 na API pode ser acessado aqui: https://youtu.be/mJt3WxHqSoI

O vídeo (parte 1 do projeto) descrevendo e demonstrando as funcionalidades da API pode ser acessado aqui: https://youtu.be/n9Ev8t0KOdo .


Como rodar o projeto?

  • Clone o repositório localmente.
  • Rode o scrip "cria_banco.sql".
  • No mesmo nível do arquivo "cria_banco.sql", crie um arquivo ".env" com seguinte conteúdo:
database_url = mysql+mysqlconnector://{user}:{password}@localhost:3306/sql_app
  • Subistitua {user} e {password} por suas credencias de conexão.
  • Finalmente, rode o comando abaixo no terminal:
uvicorn sql_app.main:app --reload

A API possui os seguintes endpoints:

POST /filme

  • Cria um novo filme no banco de dados.
  • Não é possível criar dois filmes com o mesmo nome e ano de lançamento.

GET /filmes

  • Retorna todos os filmes existentes no banco de dados.

GET /filmes/{filme_id}

  • Retorna os dados de um filme específico com base em seu ID.

DELETE /filmes/{filme_id}

  • Deleta um filme específico com base em seu ID.
  • Também deleta todas as avaliações relacionadas a esse filme no banco de dados.

PUT /filmes/{filme_id}

  • Permite atualizar os dados de um filme específico com base em seu ID.

GET /filmes/{filme_id}/avaliacao

  • Retorna todas as avaliações de um filme com o ID especificado

POST /avaliacao

  • Cria uma nova avaliação para um filme específico com base em seu ID.

GET /avaliacoes

  • Retorna todas as avaliações existentes no banco de dados.

GET /avaliacoes/{avaliacao_id}

  • Retorna os dados de uma avaliação específica com base em seu ID.

PUT /avaliacoes/{avaliacao_id}

  • Permite atualizar os dados de uma avaliação específica com base em seu ID.

DELETE /avaliacoes/{avaliacao_id}

  • Deleta uma avaliação específica com base em seu ID.

About

Criação de uma API com FastAPI para gerenciar filmes e suas avaliações.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%