Completed

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

Published on the December 05, 2018 in IT & Programming

About this project

Open

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).

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
Roles needed Developer

Delivery term: December 12, 2018

Skills needed