Laravel LGPD: Manage the LGPD law terms and site user acceptance

Recommend this page to a friend!
  Info   View files Documentation   View files View files (18)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog (1)    
Last Updated Ratings Unique User Downloads Download Rankings
2021-08-12 (29 days ago) RSS 2.0 feedNot yet rated by the usersTotal: 28 This week: 12All time: 10,288 This week: 13Up
Version License PHP version Categories
lgpd 1.0.0MIT/X Consortium ...5PHP 5, Libraries, Business
Description Author
This package is specific mainly for applications used in Brazil Brazil .

This package can manage the LGPD law terms and site user acceptance.

It provides model classes that store the details of the LGPD law terms that a site implements and controller classes to process pages that will handle the management of those LGDP law terms.

The package also provides model and controller classes to manage the history of users that have site accounts and have accepted the implemented LGPD law terms of a site.

Em Português:

Este componente pode gerenciar os termos da lei LGPD e a aceitação do usuários de um site.

Ele fornece classes de modelo que armazenam os detalhes dos termos da lei LGPD que um site implementa e classes de controlador para processar páginas que tratarão do gerenciamento desses termos da lei LGDP.

O pacote também fornece classes de modelo e controlador para gerenciar o histórico de usuários que possuem contas no site e aceitaram os termos da lei LGPD implementados em um site.

Innovation Award
PHP Programming Innovation award nominee
August 2021
Nominee
Vote
LGPD is a law in Brazil that aims to protect people's rights to privacy when it comes to personal data.

The law is complex. Businesses and other institutions need to comply with a lot of requirements of the law.

People need to be presented with many terms to understand what happens with their personal data when they sign up for a service that needs to comply with the LGPD law.

Users need to state that they understand and agree with all services' terms to comply with the LGPD law.

This package provides a solution to manage all the terms of the LGPD law that the service implements, and each user agrees.

Manuel Lemos
Picture of Thiago Przyczynski
  Performance   Level  
Name: Thiago Przyczynski <contact>
Classes: 13 packages by
Country: Brazil Brazil
Innovation award
Innovation award
Nominee: 6x

Details

LGPD Laravel Package

Implementação da LGPD ligada ao cadastro de usuários do Laravel.

Instalação

` composer require thiagoprz/lgpd`

  • Adicionar o service provider (apenas se não tiver o package auto discover habilitado) no arquivo config/app.php:
... 
'providers' => [
    ...
    \Thiagoprz\Lgpd\LgpdServiceProvider::class,
],
...

  • Migrar as tabelas:

` php artisan migrate`

  • Adicionar as rotas para implementar os termos no seu projeto (api.php ou web.php):

// LGPD CRUD resources (GET, POST, PATCH e DELETE já implementados)
Route::resource('lgpdterm', 'Thiagoprz\Lgpd\Http\Controllers\LgpdTermController');
Route::resource('lgpdtermitem', 'Thiagoprz\Lgpd\Http\Controllers\LgpdTermItemController');
Route::resource('lgpduseracceptance', 'Thiagoprz\Lgpd\Http\Controllers\LgpdUserAcceptanceController');

  • Publicas as views para poder implementar os formulários e telas de gestão dos termos e aceites necessários.

` php artisan vendor:publish --provider="Thiagoprz\Lgpd\LgpdServiceProvider"`

As views estarão publicadas na pasta: `resources/views/vendor/lgpd`.

Tables

  • lgpd_terms: termos LGPD

    | Coluna | Tipo | Descrição | Nulo | | ------ | --------- | ------------------- | --- | | id | bigint | ID (auto incremento) | No | | term | text | Texto dos termos | No | | publishing_date | datetime | Data e hora em que os termos se tornarão obrigatórios | No | | version | varchar | Versão dos termos | Yes | | created_at | datetime | Data e hora da criação | No | | updated_at | datetime | Data e hora da última alteração | Yes |

  • lgpd_term_items: aceites dos termos LGPD

    | Coluna | Tipo | Descrição | Nulo | | ------ | --------- | ------------------- | --- | | id | bigint | ID (auto incremento) | No | | lgpd_term_id | bigint | ID do Termo | No | | term | varchar(400) | Texto do aceite de termos | No | | created_at | datetime | Data e hora da criação | No | | updated_at | datetime | Data e hora da última alteração | Yes |

  • lgpd_user_acceptance: Registros de aceite dos usuários

    | Coluna | Tipo | Descrição | Nulo | | ------ | --------- | ------------------- | --- | | id | bigint | ID (auto incremento) | No | | lgpd_term_id | bigint | ID do termo | No | | user_id | bigint | ID do usuário | No | | created_at | datetime | Data e hora da criação | No | | updated_at | datetime | Data e hora da última alteração | Yes |

Objetivo

O objetivo do projeto é permitir criar um texto de termos e nele conter um ou vários aceites contendo as especificidades dos termos apresentados. Por exemplo: em projetos que possuem transações financeiras muitas vezes será necessário indicar os termos de uso da própria ferramenta mais os termos de uso do gateway ou banco ligado ao processo de cobranças e pagamentos, estes dois termos podem ser apresentados juntos porém idealmente o sistema precisa especificar que as cláusulas de cada um foram aceitas pelo usuário.

  Files folder image Files  
File Role Description
Files folder imagedatabase (1 directory)
Files folder imageresources (1 directory)
Files folder imagesrc (1 file, 2 directories)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LEIAME.md Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  database  
File Role Description
Files folder imagemigrations (3 files)

  Files folder image Files  /  database  /  migrations  
File Role Description
  Plain text file 2021_03_23_132735_...gpd_terms_table.php Class Class source
  Plain text file 2021_03_23_133056_...erm_items_table.php Class Class source
  Plain text file 2021_03_23_140729_...cceptance_table.php Class Class source

  Files folder image Files  /  resources  
File Role Description
Files folder imageviews (1 directory)

  Files folder image Files  /  resources  /  views  
File Role Description
Files folder imagelgpdterm (5 files)

  Files folder image Files  /  resources  /  views  /  lgpdterm  
File Role Description
  Accessible without login Plain text file create.blade.php Aux. Auxiliary script
  Accessible without login Plain text file edit.blade.php Aux. Auxiliary script
  Accessible without login Plain text file form.blade.php Aux. Auxiliary script
  Accessible without login Plain text file index.blade.php Aux. Auxiliary script
  Accessible without login Plain text file show.blade.php Aux. Auxiliary script

  Files folder image Files  /  src  
File Role Description
Files folder imageHttp (1 directory)
Files folder imageModels (3 files)
  Plain text file LgpdServiceProvider.php Class Class source

  Files folder image Files  /  src  /  Http  
File Role Description
Files folder imageControllers (3 files)

  Files folder image Files  /  src  /  Http  /  Controllers  
File Role Description
  Plain text file LgpdTermController.php Class Class source
  Plain text file LgpdTermItemController.php Class Class source
  Plain text file LgpdUserAcceptanceController.php Class Class source

  Files folder image Files  /  src  /  Models  
File Role Description
  Plain text file LgpdTerm.php Class Class source
  Plain text file LgpdTermItem.php Class Class source
  Plain text file LgpdUserAcceptance.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:28
This week:12
All time:10,288
This week:13Up
For more information send a message to info at phpclasses dot org.