crud-pessoa-endereco
- Active · last change 7-12-2026
- ★ 1 on GitHub
README
CRUD Pessoa + Endereco
Projeto Delphi/VCL com API REST em Delphi, PostgreSQL, CRUD de pessoa/endereco, importacao em lote e integracao ViaCEP.
Pre-requisitos
- Windows 64 bits
- Delphi com suporte aos projetos
.dproj - Docker Desktop
Banco de Dados com Docker
O banco de dados PostgreSQL e iniciado via Docker Compose.
Para subir o banco localmente, execute:
docker compose up -dO container cria automaticamente o banco crud_pessoa_endereco com as credenciais definidas no docker-compose.yaml.
Os scripts em database/postgres/ sao executados automaticamente na primeira inicializacao do volume do PostgreSQL:
001_schema.sql002_seed.sql
Se precisar recriar o banco do zero e rodar novamente os scripts de inicializacao:
docker compose down -v
docker compose up -dConfiguracao da API
Arquivo: server/config.ini
[database]
host=localhost
port=5434
database=crud_pessoa_endereco
user=postgres
password=postgres
[server]
host=localhost
port=9000
base_path=/apiOs valores estao preenchidos para teste local. Como o PostgreSQL roda via Docker, a API acessa a porta publicada no host 5434.
DLLs do PostgreSQL
O FireDAC/PostgreSQL precisa do libpq.dll e dependencias no mesmo diretorio do Api.exe.
As DLLs necessarias estao versionadas em:
server/Win64/Debug/Ao compilar em outro perfil, garanta que estas DLLs tambem estejam na mesma pasta do executavel gerado.
Executando a API
Compile e execute o projeto:
server/Api.dprojAo iniciar, a API deve exibir no console:
API ativa em http://localhost:9000/apiMantenha a janela da API aberta enquanto usa o cliente.
Configuracao do Cliente
Arquivo: client/config.ini
[api]
baseurl=http://localhost:9000/api
timeout_ms=30000Executando o Cliente
Compile e execute o projeto:
client/Client.dprojImportacao em Lote
Use a opcao de importacao no cliente e selecione um arquivo no formato:
flNatureza;dsDocumento;nmPrimeiro;nmSegundo;dtRegistro;dsCepHa um arquivo de teste em:
mock_clients/50000_clients.csvDepois da importacao, use o botao Atualizar CEPs na tela de listagem para consultar os CEPs pendentes no ViaCEP.
Estrutura
client/ Aplicacao VCL e services HTTP do cliente
server/ API, dominio, infraestrutura e configuracao
shared/ DTOs compartilhados entre client e server
database/ Scripts PostgreSQL
mock_clients/ Arquivos de massa para testeArquivos Ignorados
O repositorio ignora outputs do Delphi, historico da IDE e executaveis gerados. Apenas as DLLs necessarias do PostgreSQL em server/Win64/Debug/*.dll sao mantidas para facilitar os testes locais com FireDAC.

