Skip to content

Projeto final da aceleração de back end com Python da Codenation em parceria com a Stone Payments.

License

Notifications You must be signed in to change notification settings

LeoDev0/central-de-erros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Central de Erros - Projeto Final AceleraDev Python 2020

License: MIT Build Status

Projeto final da aceleração de Back End com Python da Codenation em parceria com a Stone Payments. Se trata de uma API REST para gerenciamento e centralização de erros e você pode testá-la aqui.

Tabela de Conteúdo

Objetivo

Em projetos modernos é cada vez mais comum o uso de arquiteturas baseadas em serviços ou microsserviços. Nestes ambientes complexos, erros podem surgir em diferentes camadas da aplicação (backend, frontend, mobile, desktop) e mesmo em serviços distintos. Desta forma, é muito importante que os desenvolvedores possam centralizar todos os registros de erros em um local, de onde podem monitorar e tomar decisões mais acertadas. Neste projeto vamos implementar um sistema para centralizar registros de erros de aplicações.

A arquitetura do projeto é formada por:

  • Criar endpoints para serem usados pelo frontend da aplicação;
  • Criar um endpoint que será usado para gravar os logs de erro em um banco de dados relacional;
  • A API deve ser segura, permitindo acesso apenas com um token de autenticação válido.

Tecnologias Utilizadas

Instalação e Uso

Clonando o repositório:

$ git clone https://github.com/LeoDev0/central-de-erros.git

Instalação e execução automatizadas com Docker:

$ cd central-de-erros
$ docker-compose up

A aplicação estará rodando em http://localhost:8000/ e você será redirecionado para a documentação local dos endpoints da API.

Executando os testes da API (32 testes unitários):

$ cd central-de-erros
$ docker-compose run app sh -c "python manage.py test"

Modelagem

Representação das tabelas do banco de dados usadas na aplicação.

models

Endpoints

/api/logs/

É preciso estar autenticado para visualizar

Métodos: GET, POST

  • Lista todos os logs;
  • Cria novo log.

/api/logs/results

É preciso estar autenticado para visualizar

Método: GET

  • Pesquisa por logs pelos campos 'description' e 'details' usando o parâmetro '?search='.

/api/logs/{id}

É preciso estar autenticado para visualizar

Métodos: GET, PUT, PATCH, DELETE

  • Lista detalhes de um log através do seu id;
  • Edita completamente um log;
  • Edita parcialmente um log;
  • Deleta um log.

/api/register/

Método: POST

  • Registra um novo usuário.

/api/token/

Método: POST

  • Requisita os tokens de acesso e refresh, além dos dados cadastrais do usuário.

/api/token/refresh/

Método: POST

  • Atualiza e retorna o token de acesso do usuário.

/api/users/

É preciso estar autenticado como super usuário para visualizar

Método: GET

  • Lista todos os usuários.

/api/users/{id}

É preciso estar autenticado como super usuário para visualizar

Método: GET

  • Lista dados de um usuário pelo seu id.

/api/swagger/

Documentação com Swagger.

/api/redoc/

Documentação com Redoc.

Licença

MIT © Leonardo T. Fernandes