Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

consulta-cep-delphi

Sistema de Consulta de CEP em Delphi, com API REST e uma aplicação cliente desktop para consumo da API.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

🚀 Sistema de Consulta de CEP em Delphi

Projeto completo composto por uma API REST e uma aplicação cliente desktop, desenvolvido em Delphi, com foco em arquitetura, boas práticas e organização em camadas.

Este repositório demonstra a construção de um ecossistema completo cliente-servidor.

📦 Estrutura do Repositório

pascal
consulta-cep-delphi/
???
????????? APIConsultarCep/     ??? Backend REST (WebBroker)
????????? ClienteConsultaCep/  ??? Aplica????o Desktop VCL
????????? Documenta????o/        ??? Documentos em Pdf
????????? README.md

🌐 APIConsultarCep

API REST responsável por consultar endereços a partir de um CEP informado.

🔹 Principais características

WebBroker

Strategy Pattern

Múltiplos provedores externos

Fallback automático

Tratamento padronizado de erros em JSON

Swagger (OpenAPI 3.0)

Testes unitários (DUnitX)

🔹 Endpoint GET /cep/{cep}

✔ Resposta de Sucesso (200)

pascal
{
"cep": "14800123",
"logradouro": "Rua Exemplo",
"bairro": "Centro",
"cidade": "Araraquara",
"uf": "SP"
}

❌ Resposta de Erro

pascal
{
"erro": true,
"mensagem": "CEP não encontrado"
}

🔹 Swagger

Interface interativa:

http://localhost:{porta}/docs

Especificação OpenAPI:

http://localhost:{porta}/swagger

🖥 ClienteConsultaCep

Aplicação Desktop VCL responsável por consumir a API e exibir os dados ao usuário.

🔹 Funcionalidades

Campo para digitação do CEP

Validação de entrada

Consumo da API via HTTP

Exibição dos dados do endereço

Tratamento de erros retornados pela API

O cliente não acessa diretamente serviços externos — toda a regra de negócio está centralizada na API.

🏗 Arquitetura Aplicada

O backend segue separação clara de responsabilidades:

Model Provider Service View Tests

✔ Model

Entidades e exceções customizadas.

✔ Provider

Integração com APIs externas utilizando Strategy Pattern.

✔ Service

Regra de negócio e orquestração dos providers.

✔ View

Camada HTTP (WebModule).

✔ Tests

Testes unitários da camada de serviço.

🎯 Objetivos do Projeto

Demonstrar arquitetura backend em Delphi

Aplicar boas práticas REST

Implementar tratamento padronizado de erros

Documentar API com OpenAPI 3.0

Separar responsabilidades em camadas

Demonstrar integração cliente-servidor

🔧 Tecnologias Utilizadas

Delphi

VCL

WebBroker

THTTPClient

System.JSON

DUnitX

OpenAPI 3.0 (Swagger)

📈 Possíveis Evoluções

Versionamento da API (/v1/cep/{cep})

Cache de consultas

Logs estruturados

Monitoramento de disponibilidade dos provedores

Deploy containerizado

Autenticação

📚 Documentação

A documentação completa da API está disponível:

- Online: http://localhost:8080/docs

- Swagger JSON: http://localhost:8080/swagger

- PDF: Pasta Documentação

👩‍💻 Autora

Projeto desenvolvido para fins de estudo, portfólio e demonstração de arquitetura backend e integração cliente-servidor em Delphi.