Tópicos Avançados de Banco de Dados
Índice
Equipe
- 👩💻 Giovanna Xavier Matos : Dev
- 👨💻 Hercules Pereira : Dev
- 👩💻 Leticia Macedo Prudente de Carvalho : Scrum Master
- 👨💻 Sandro Toline : Dev
- 👩💻 Thaís Bitencourt de Meneses : Product Owner
- 👨💻 Thiago Dias : Dev
- 👨💻 Yan Rodrigues de Azevedo : Dev
- 👨💻 Victor Cardial : Dev
Matéria: Tópicos Avançados de Banco de Dados
Professor: Eduardo Sakaue
Problema:
Considerando a Lei Geral de Proteção de Dados, Artigo 1º: “Esta Lei dispõe sobre o tratamento de dados pessoais, inclusive nos meios digitais, por pessoa natural ou por pessoa jurídica de direito público ou privado, com o objetivo de proteger os direitos fundamentais de liberdade e de privacidade e o livre desenvolvimento da personalidade da pessoa natural.” que entrou em vigência em agosto de 2020, foi solicitado e resolução de um problema relacionado a mesma. O foco do grupo será na Gestão de consentimento do titular ou responsável (OptIn/OptOut) e no compartilhamento consciente de arquivos com dados pessoais.
Proposta de solução:
Desenvolver uma Plataforma Web que faz gestão de OptIn e OptOut e verifica a existência de dados pessoais em arquivos (TXT e Word), otimizando os atendimentos de LGPD; A própria será desenvolvida na linguagem de programaçao Python para desenvolver o validador juntamente com a biblioteca Pandas por conta de sua habilidade de simplificação. Com acesso ao Banco de Dados de uma empresa (usaremos um banco de dados espelhado), iremos implementar flags para indicar o Consentimento ou Revogação do uso do dado pelo titular e armazenar o histórico de alteração considerando o período de cada permissão; Para gerenciar o banco será utilizado o sistema SQL Server que é um dos principais SGBDs relacionais do mercado. A Varredura de Dados Pessoais irá buscar pelas seguintes informações: Nome, CPF, CNH, PIS, Endereço, Título de Eleitor, RG, Telefone e E-mail e retornar os dados encontrados de forma temporária, assim como o status de permissão (OptIn/OptOut); Ao que se refere a menores de idade, pela Lei “O tratamento de dados pessoais de crianças deverá ser realizado com o consentimento específico e em destaque dado por pelo menos um dos pais ou pelo responsável legal.”, será incluído o tratamento do dado mediante autorização de pai ou responsável ou anexo de documento comprovante de emancipação. O Cloudinary será utilizado para fazer o upload desses documentos; Para auxiliar no envio de E-mails Marketing, será gerada uma lista apenas com e-mails autorizados (OptIn); Todos os testes serão realizados os testes com dados fictícios.
Arquitetura do Projeto
Tecnologias Utilizadas
- Python: linguagem de programação de alto nível, interpretada de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte, além de fazer a correção de alocação de memória, gerenciamento de recursos, etc, automaticamente e eficiente permitindo que a concentração fosse exclusivamente no problema. Foi escolhida para desenvolver o validador de dados pessoais.
- Pandas: é uma biblioteca de software escrita para a linguagem de programação Python para manipulação e análise de dados, oferecendo estruturas e operações para manipular tabelas numéricas e séries temporais. Foi escolhida para validar os dados pessoais por sua capacidade de simplificação.
- Flask e Flask Restfull: micro-framework multiplataforma que provê um modelo simples para o desenvolvimento web e que torna a aplicação muito mais leve e mais fácil de ser executada. Foi utilizado para desenvolver a API do validador de dados pessoais.
- SQL Server: sistema gerenciador de Banco de dados relacional, garantindo o suporte na recuperação dos dados, facilidade de uso e capacidade de melhor compreensão dos conjuntos de dados. Foi escolhido para desenvolver o banco de dados.
- Cloudinary: Serviço de armazenamento em nuvem, de fácil integração com diversas linguagens e tecnologias. Foi escolhido para realizar o upload dos documentos de emancipação de menores de idade.
Entregas
Kick Off ✔
📅 28/02/2021 a 06/03/2021
- Definição das User Stories , Tasks e Tecnologias que serão utilizadas.
Sprint 01 ✔
📅 08/03/2021 a 28/03/2021
-
Gestão de OptIn/OptOut: Usando o modelo de Banco de Dados "Northwind" como base, foram implementadas melhorias de políticas de segurança do tipo RLS (Row Level Security), adição do campo Flag na tabela Customers para registrar o atual estado de seu consentimento do Titular com relação ao uso e tratamento de seus dados pessoais e uma tabela de histórico, contendo os períodos de concessão e revogação.
-
Verificador em Python: desenvolvido o buscador e validador de informações pessoais (CPF, CNH, CNPJ, PIS, Titulo Eleitoral, CEP e Celular) em arquivos (TXT e Word) e da API em Flask-Python que recebe a informação e retorna o dado encontrado.
Sprint 02 ✔
📅 29/03/2021 a 18/04/2021
-
Consentimento de menores de idade: anexo de documento comprovante de emancipação diretamente no banco de dados e adição de mais condições nos gatilhos de permissão (OptIn/OptOut).
-
Início do desenvolvimento da Plataforma Web.
-
Integração da Varredura de Dados Pessoais com o banco de dados: verifica se o documento encontrado está cadastrado.
Sprint 03 ✔
📅 26/04/2021 a 16/05/2021
-
Conclusão da Plataforma web , sendo possível carregar um documento via front-end e buscar por dados pessoais, validando o status de permissão (OptIn/OptOut) de cada documento encontrado.
-
Consentimento de menor de idade: Anexo de Documento de Emancipação via Plataforma Web com upload na nuvem Cloudinary e vínculo de cadastro do pai ou responsável com o menor de idade pelo banco de dados.
-
Buscador e Validador de Nome via dicionário de dados.
Sprint 04 ✔
📅 17/05/2021 a 05/06/2021
-
Vincular cadastro de Menor de Idade com cadastro do Responsável via Plataforma Web.
-
Gerar lista de e-mail marketing: e-mails autorizados pelo titular.
-
Desenvolver documentação técnica do backend, do banco de dados e de usabilidade da ferramenta.
Apresentação Final
📅 07/06/2021 a 11/06/2021
Feira de Soluções
📅 14/06/2021 a 18/06/2021