Realizado

Geração automatizada de log de eventos realizados pelos usuários no sistema (auditoria)

Publicado em 05 de Dezembro de 2018 dias na TI e Programação

Sobre este projeto

Aberto

Ambiente de nossa solução
nossa solução é uma aplicação web, que roda atualmente no heroku (porém em processo de migração para outras plataformas) e foi construída nas seguintes tecnologias:
python 3.5
Django 1.10
Postgres 10

requisitos funcionais
permitir gravação automática de trilhas de auditoria para todos os eventos realizados no sistema (login e manipulação de dados). Se possível permitir a parametrização dos eventos que serão auditados (quais objetos do sistema sofrerão auditoria).
Para cada trilha de auditoria, deve-se armazenar:
Data e hora de início (obrigatório - Ex.: 05/12/2018 - 08:34:01)
Data e hora de fim do evento (opcional - Ex.: 05/12/2018 - 08:34:05);
Tipo de evento (obrigatório - Ex.: Alteração do objeto Empresa);
Nome do usuário (obrigatório - Ex.: João da Silva);
Dados que foram alterados (opcional - Ex.: Campo nome de 'A1' para 'A2').

Não será necessário desenvolver uma interface visual, apenas deverá focar na arquitetura de backend, mas que permita ao nosso time de desenvolvedores implementar futuramente consultas às trilhas de auditoria do sistema, ou seja, de alguma forma tem que ser possível identificar para determinado objeto quais foram os eventos de manutenção (inclusão, alteração e exclusão) que ocorreram com ele, quem foi o responsável, quando ocorreu e o que foi feito.

Esta consulta deve ser possível por usuários administradores da aplicação (requisito mínimo), mas seria bem vindo uma solução onde pudéssemos disponibilizar essa visualização de auditoria para outros grupos de usuários.

requisitos de implementação:
que a solução seja independente da plataforma de execução (ex.: Heroku), ou facilmente adaptável para outros ambientes (Ex.: AWS EC2, etc).
A solução pode ser um plugin no Django, biblioteca dentro da aplicação, scripts de banco de dados, enfim, desde que a mesma seja automatizada para fácil aplicação a novos objetos do sistema (conforme o sistema for evoluindo), que deverá ser apresentada ao nosso time antes de iniciar a implementação (para aprovação da abordagem escolhida).

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor

Prazo de Entrega: 12 de Dezembro de 2018

Habilidades necessárias