Skip to content

Este é um projeto foi criado para que o usuário use uma api que possa fazer o cadastramento de filmes e o cadastramento de avaliações desses filmes.

Notifications You must be signed in to change notification settings

RicardoMourao-py/FastAPI_Filmes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Gerenciadora de Filmes e suas respectivas Avaliações

Este é um projeto foi criado para que o usuário use uma api que possa fazer o cadastramento de filmes e o cadastramento de avaliações desses filmes. Além disso, foi utilizado todos os requisitos para o CRUD e o API RESTful. Veja abaixo o modelo de entidade-relacionamento desse gerenciamento:

Observe pelo modelo de entidade-relacionamento, que avaliações possui um forte dependência, pois sempre estará linkada a um filme. Entretanto, um filme pode estar linkado a várias avaliações.

Ademais, o projeto consiste em duas etapas, a primeira consolida suas informações em arquivos .txt sem a utilização de banco de dados. Veja abaixo:

Link para vídeo da primeira parte implementada:

Nesse vídeo é possível encontrar requisitos adequados de práticas iniciais do uso da API e como utilizá-la no mundo real, como por exemplo, conexão com o front-end.
https://www.youtube.com/watch?v=pYtyoPe8YtU

Nesse contexto, o projeto busca a melhores práticas do mercado, portanto, é importante a utilização de banco de dados. Logo, na segunda parte do projeto é utilizado MySQL, entretanto, qualquer outro database pode ser implementado. Visualize abaixo a segunda parte implementada e explicada:

Link para vídeo da segunda parte implementada:

Nesse vídeo é possível encontrar requisitos adequados de práticas do uso da API conectadas a um banco de dados.
https://youtu.be/c97G6mM7Quk


Utilização do Projeto

Com isso, para rodar o projeto em sua máquina local siga as etapas abaixo:

  1. Uitlize o prompt de comando para Clonar o repositório em um diretório da sua preferência:
git clone https://github.com/RicardoMourao-py/FastAPI_Filmes.git
  1. Crie seu ambiente virtual no prompt
python -m venv name_env
  1. Ative o seu ambiente virtual
name_env\Scripts\activate.bat
  1. Instale todas suas dependências
pip install -r requirements.txt
  1. Crie seu database com suas tabelas no seu DBMS(Database Management System) com a query abaixo:
CREATE DATABASE IF NOT EXISTS filmes;

USE filmes;

CREATE TABLE IF NOT EXISTS filmes (
    id_filme INTEGER PRIMARY KEY NOT NULL auto_increment,
    nome VARCHAR(255) UNIQUE NOT NULL,
    ano INTEGER NOT NULL,
    duracao FLOAT NOT NULL,
    descricao TEXT NOT NULL
);

CREATE TABLE IF NOT EXISTS avaliacoes (
    id_avaliacao INTEGER PRIMARY KEY NOT NULL auto_increment,
    comentario TEXT NOT NULL,
    nota FLOAT NOT NULL CHECK (nota >= 0 AND nota <= 10),
    id_filme INTEGER,
    FOREIGN KEY (id_filme) REFERENCES filmes(id_filme) ON DELETE CASCADE
);
  1. Crie um arquivo .env no seu diretório com suas credenciais. Observe que o banco de dados utilizado é o MySQL, caso esteja utilizando outro, pesquise quais características seu arquivo .env deve ter e modifique o arquivo database.py de acordo com as especificações. Caso esteja utilizando o mesmo, basta criá-lo com o seguinte conteúdo (lembre-se de adicionar o que está em branco):
DB_PROVIDER=mysql
DB_DRIVER=mysqlconnector
DB_DATABASE_NAME=filmes
DB_USER=
DB_PASSWORD=
DB_HOST=localhost
DB_PORT=3306
DB_CONNECTION_STRING=${DB_PROVIDER}+${DB_DRIVER}://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_DATABASE_NAME}
  1. Execute o projeto
uvicorn main:app --reload
  1. Abra o seu browser em:
    http://127.0.0.1:8000/docs

Deve aparecer a seguinte tela:


SE DIVIRTA !!!

About

Este é um projeto foi criado para que o usuário use uma api que possa fazer o cadastramento de filmes e o cadastramento de avaliações desses filmes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages