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.
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.
- Django
- Django Rest Framework
- JWT (JSON Web Token)
- Bancos de dados relacionais (SQLite localmente e PostgreSQL no deploy pelo Heroku)
- Docker
- TDD (Test Driven Development)
- Travis-CI
- Documentação com Swagger e Redoc
$ git clone https://github.com/LeoDev0/central-de-erros.git
$ 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.
$ cd central-de-erros
$ docker-compose run app sh -c "python manage.py test"
Representação das tabelas do banco de dados usadas na aplicação.
É preciso estar autenticado para visualizar
Métodos: GET, POST
- Lista todos os logs;
- Cria novo log.
É preciso estar autenticado para visualizar
Método: GET
- Pesquisa por logs pelos campos 'description' e 'details' usando o parâmetro '?search='.
É 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.
Método: POST
- Registra um novo usuário.
Método: POST
- Requisita os tokens de acesso e refresh, além dos dados cadastrais do usuário.
Método: POST
- Atualiza e retorna o token de acesso do usuário.
É preciso estar autenticado como super usuário para visualizar
Método: GET
- Lista todos os usuários.
É preciso estar autenticado como super usuário para visualizar
Método: GET
- Lista dados de um usuário pelo seu id.
Documentação com Swagger.
Documentação com Redoc.