matheus-1618 / Orion

Rest API using Fast API, MySQL and SQLAlchemy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projeto SQL Orion


Matheus Oliveira

Developer

Nívea de Abreu

Developer

Descrição

Orion é um projeto de REST API, que permite o gerenciamento filmes e reviews (avaliações), permitindo a bysca por filmes no sistema, avaliações gerais cadastradas, avaliações de filmes específicos, e até o rating médio de um filme especificado na plataforma.

Executando

Antes de rodar a API, abra o MySQL WorkBench e execute a query presente no arquivo script.sql para criar a base e suas tabelas.

Crie dentro do diretório, um arquivo .env que siga os campos do arquivo .env.example. Este será importante para validar suas credenciais para acesso ao banco de dados.

Após criar o ambiente virtual (caso deseje), instale as dependências necessárias:

python -m pip install -r requirements.txt

Após a instalação, para rodar o projeto, abra um terminal e execute o comando abaixo:

uvicorn main:app --reload

Em seguida, abra um navegador e digite:

http://127.0.0.1:8000/docs

Você deverá ver a seguinte interface, descrevendo todas as endpoints disponíveis e métodos utilizáveis, tal qual:

  • Títulos das chamadas
  • Descrição dos métodos
  • Descrição de parâmetros
  • Descrição de request body
  • Exemplo de request body
  • Status code de retorno da response
  • Headers da response

Diagrama Entidade Relacionamento

Diagrama Relacional

Visão geral da API

Requisitos solicitados

  • ✔️ Sistema de gerenciamento de filmes e avaliações de filmes
  • ✔️ Sistema CRUD para controle das requisições
  • ✔️ API RESTful
  • ✔️ Arquitetura Client-Server
  • ✔️ Ausência da noção de sessão
  • ✔️ Sistema encapsulado em camadas
  • ✔️ Sistema baseado em recursos, com identificação direta para filmes(/movies), avaliações(/reviews) ou average(/average)
  • ✔️ Especificação de ação via protocolo HTTP
  • ✔️ Response com headers, código de status e metadados
  • ✔️ Tipos de BaseModel utilizados para requisições (Movie_request e Review_Request)
  • ✔️ Descrição informativa da documentação da API (títulos de chamadas, organização por tags de segmentos, exemplos de request body, descrição de argumentos entre outros)

©Insper, 6° Semestre Engenharia da Computação, MegaDados.

About

Rest API using Fast API, MySQL and SQLAlchemy


Languages

Language:HCL 51.4%Language:Python 48.6%