Skip to content

Repository files navigation

DESAFIO PYTHON BACK-END

Principais Bibliotecas

  • Python - Linguagem de Programação
  • Flask - Biblioteca básica de roteamento
  • Flask-Restx - Biblioteca que auxilia na construção de API Rest
  • SQLAlchemy - ORM
  • Flask-Marshmallow - Biblioteca de serialization/deserialization de Objeto
  • Docker - Container para aplicação
  • Docker-Compose - Levantamento dos Containers
  • Pipenv - Gerenciador de dependências
  • Postgresql - Banco de dados
  • Celery - Fila de tarefas e tabalhos em background
  • RabbitMQ - Broker de mensageria
  • Flake8 - Guia de estiloPep8
  • Black - O formatador de código descompromissado[Pep8]
  • Pre-commit - É um gerenciador de pacotes multi-idioma para pre-commit hooks
  • SMTPLIB - O módulo smtplib define um objeto de sessão de cliente SMTP que pode ser usado para enviar e-mail

Requerimentos

O projeto necessita de docker e docker-compose

Rodando o Projeto

Clone esse projeto em sua máquina:

$ git clone https://github.com/Mario-Guilherme/desafio-backend-python.git

Certifique-se que a porta 5000(Flask), 15672(Rabbitmq), 5672(Rabbitmq), 5432(Postgresql), 8080(adminer)

Certificado que as portas acima estão livre,

Entre na pasta do projeto usando o comando:

$ cd desafio-backend-python

digite o comando em seu terminal para subir os containers do terminal.

$ docker-compose up --build

No seu Browser acesse : http://localhost:5000/

Rotas da API

API

Método POST http://localhost:5000/file-obras/

{"email":"seu email"}

Método GET (http://localhost:5000/obras/)[http://localhost:5000/obras/] retorna todas as obras

Método POST http://localhost:5000/obras/

  {  
  "titulo": "Harry Potter", 
  "editora": "Rocco",
  "foto": "https://i.imgur.com/UH3IPXw.jpg",
   "autores": ["JK Rowling"]
   }

Método PUT http://localhost:5000/obras/{id}/ id substituto por um id do banco de dados necessário ter as mesmas chaves, se faltar dará o erro um comum, 400, bad request

  {  
  "titulo": "Outro livro", 
  "editora": "Rocco",
  "foto": "https://i.imgur.com/UH3IPXw.jpg",
   "autores": ["JK Rowling"]
   }

Método DELETE http://localhost:5000/obras/{id}/ Deleta a partir do id da requisição.

Método POST http://localhost:5000/upload-obras deverá ser enviado um arquivo .csv para a rota com o formato:

formato Caso não funcione enviar a partir da rota Pela documentação da API funcionará

doc_api

About

Criar uma API em flask

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages