Skip to content

NatanLuz/ApiProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Consulta de Bancos com PHP integrando a BrasilAPI

📖 Sobre o projeto

O Consulta de Bancos com PHP integrando a BrasilAPI é uma aplicação web em PHP 8+ para consultar instituições financeiras brasileiras usando a API pública da BrasilAPI.

O projeto foi organizado para demonstrar uma abordagem backend profissional sem frameworks, Composer ou banco de dados. A aplicação separa entrada HTTP, validação, cache, integração cURL, respostas JSON e apresentação HTML.

Projeto em constante evolução, com foco em simplicidade de instalação, segurança e qualidade de portfólio.

✨ Funcionalidades

  • Interface administrativa moderna e responsiva;
  • busca única por nome, código COMPE, ISPB ou nome completo;
  • busca dinâmica com Fetch API, sem reload completo da página;
  • listagem em tabela com badges, ações e estados vazios;
  • modal de detalhes com todas as informações retornadas pela BrasilAPI;
  • dark mode persistido no navegador;
  • cache local em arquivo com TTL de 5 minutos;
  • tratamento de falhas de conexão, timeout, erro HTTP e JSON inválido;
  • respostas HTML e JSON com os parâmetros q, code e format=json;
  • endpoint /health com status, timestamp, BrasilAPI, versão e cache.

Parâmetros de consulta

Parâmetro Finalidade
q Pesquisa bancos por nome, código COMPE, ISPB ou nome completo
code Retorna os detalhes do banco pelo código COMPE
format=json Retorna a resposta em JSON

🖼️ Screenshots

A imagem abaixo apresenta uma captura da interface da aplicação.

Interface da Consulta de Bancos

🚀 Tecnologias

  • PHP 8+: linguagem principal da aplicação;
  • cURL: integração HTTP com a BrasilAPI;
  • BrasilAPI: fonte pública dos dados bancários;
  • JSON: formato consumido e exposto pelos endpoints;
  • HTML5, CSS3 e JavaScript: interface, responsividade e busca dinâmica;
  • Bootstrap Icons: ícones da interface;
  • Cache em arquivo: redução de chamadas externas durante o TTL.

⚙️ Como executar

Pré-requisitos

  • PHP 8.0 ou superior;
  • extensão cURL habilitada;
  • acesso à internet para consultar a BrasilAPI;
  • navegador moderno ou cliente HTTP.

Iniciar o servidor

Na pasta do projeto, execute:

php -S 127.0.0.1:8000 -t public

Depois acesse:

http://127.0.0.1:8000

Exemplos de acesso

Listagem HTML:

http://127.0.0.1:8000/

Busca:

http://127.0.0.1:8000/?q=itau

JSON da listagem:

http://127.0.0.1:8000/?format=json

JSON filtrado:

http://127.0.0.1:8000/?q=itau&format=json

Detalhe em JSON:

http://127.0.0.1:8000/?code=1&format=json

Health check:

http://127.0.0.1:8000/health

📂 Estrutura do projeto

.
├── config/
│   └── config.php
├── public/
│   ├── assets/
│   │   ├── app.css
│   │   └── app.js
│   └── index.php
├── src/
│   ├── BankService.php
│   ├── Cache.php
│   ├── Response.php
│   ├── Validator.php
│   └── View.php
├── storage/
│   └── cache/
│       └── .gitkeep
├── index.php
├── README.md
└── Amostradoprojeto.PNG
  • public/index.php: entrada pública, roteamento simples, HTML, JSON e health check;
  • src/BankService.php: integração com a BrasilAPI e regras de consulta;
  • src/Cache.php: cache local em arquivo com TTL configurável;
  • src/Validator.php: sanitização e validação dos parâmetros de entrada;
  • src/Response.php: padronização de respostas JSON;
  • src/View.php: escape e normalização de saída;
  • config/config.php: URL da API, timeout, versão e cache;
  • storage/cache/: arquivos temporários gerados em tempo de execução.

🌐 Deploy

O projeto pode ser publicado em qualquer hospedagem com PHP 8+ e extensão cURL habilitada.

Em produção, aponte o document root para a pasta public/. Caso a hospedagem não permita alterar o document root, o index.php da raiz mantém compatibilidade carregando a entrada pública.

A aplicação depende da disponibilidade externa da BrasilAPI. Quando a API estiver indisponível, o sistema retorna mensagens amigáveis e respostas JSON apropriadas.

👤 Autor

Natan Da Luz

📄 Licença

Este projeto está sem uma licença definida no momento.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors