Sistema para Consultar os dados públicos do CNPJ disponibilizados pela Receita Federal em PHP usando Adianti 7.1 e CNPJ-full
Sistema web em PHP usando o usando o Adianti FrameWork para consultar os Dados pblicos CNPJ fornecidos pela Receita Federal do Brasil.
A Verso 2.0.0 contem as alteraes do modelo de dados de 21/03/2021 feito pela RFB.
Agradecimento para todas as pessoas que contriburam de forma direta ou indireta para o projeto. Abaixo alguns nomes de destaque, pois o sistema de consulta foi baseado nos scripts de carga de dados das pessoas abaixo. Sem essas pessoas o trabalho seria bem mais difcil:
O processo de instalao simples para a parte PHP. Porm a carga do banco de dados pode ser complicada e muito demorada, levando algumas horas at dias dependendo do seu hardware.
Tabela | Quantidade de linhas | Tamanho em MB |
---|---|---|
empresa | 45.811.638 | |
estabelecimento | 48.421.619 | |
socios | 20.426.417 | |
simples | 27.893.923 | |
Total | 142.553.597 |
cnjrfb
.www/cnjrfb
do projeto para a pasta cnjrfb
do seu servidor PHP.<caminho servidor>/cnjrfb/
tem permisso de execuo do servidor web. Se for Linux (Debian/Ubuntu) com Apache pode executar sudo chown -R www-data:www-data
ATENO!! a funo de gerar grafo foi removida temporarimente da verso 2.
Agora vem parte demorada !
www/cargabs/download/download_files.sh
projeto/modelo_banco/
vai encontrar os scripts criao do banco de dados, para os SGBD's: SqLite, MySql, MariaDB e PostgreSQL. Se precisar de um MER tem na pasta projeto/modelo_banco/mysql
projeto/www/cargabd/config.php
projeto/www/cargabd/index.php
ATENO!! devido o volume de dados crie ndices, nas colunas que pretender ter o maior volume de pesquisa e assim diminuir o tempo de busco. Recomendo criar na coluna cnpj_basico em todas as tabelas
<caminho servidor>/cnjrfb/app/config/maindatabase.php
para apontar para o novo banco de dados. Veja como em Adianti FrameWork 7.3.0
<caminho servidor>/cnjrfb/init.php
na linha 33 alterando o valor da constante define('DATABASE_SCHEMA','');
para o valor desjado usando o PONTO para separar SCHEMA.TABELAExistem alguns arquivos em Docker-compose para criar todo o ambiente necessrios para rodar tudo que necessrio. A ideia com um comando o usurio consiga ter tudo funcionando sem muito esforo.
docker-compose build
para gerar todo o ambiente.docker-compose -f docker-compose.yml up -d
para rodar o ambiente j configurado. O Docker pretender resolver apenas Parte 1 - PHP