Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fallback API CEP

Este projeto demonstra uma implementação de busca de CEP com lógica de fallback entre múltiplas APIs (AwesomeCEP e ViaCEP), garantindo maior disponibilidade do serviço.

Estrutura do Projeto

  • frontend/: Aplicação React + Vite + TailwindCSS + shadcn/ui.
  • backend/: API Node.js + Express + TypeScript com lógica de fallback e segurança.

Como Executar

Docker (Recomendado)

O projeto está totalmente containerizado com Docker Compose, oferecendo ambientes de desenvolvimento e produção isolados.

Modo Desenvolvimento (Hot Reload):

docker compose --profile dev up --build
  • Frontend: http://localhost:5173
  • Backend: http://localhost:3333

Modo Produção:

docker compose --profile prod up --build
  • Frontend: http://localhost:8080
  • Backend: http://localhost:3333

Execução Local (Sem Docker)

  • Node.js (v18 ou superior)
  • npm ou yarn

Backend

  1. Entre na pasta do backend:
    cd backend
  2. Instale as dependências:
    npm install
  3. Configure as variáveis de ambiente:
    • Copie o arquivo .env.example para .env
    • Adicione seu token da AwesomeAPI se necessário (opcional para testes locais).
  4. Inicie o servidor em modo de desenvolvimento:
    npm run dev
    O backend estará disponível em http://localhost:3333.

Frontend

  1. Entre na pasta do frontend:
    cd frontend
  2. Instale as dependências:
    npm install
  3. Inicie a aplicação:
    npm run dev
    O frontend estará disponível em http://localhost:5173.

Funcionalidades de Segurança (Backend)

  • Helmet: Adição de headers de segurança para proteção contra ataques comuns.
  • CORS: Configurado para aceitar requisições apenas da URL do frontend.
  • Rate Limit: Limite de 30 requisições por minuto por IP para evitar abusos na rota de CEP.
  • Validação: Middleware para validar o formato do CEP antes de processar a busca.

Créditos

Criado por Miguel.

About

Este projeto demonstra uma implementação de busca de CEP com lógica de fallback entre múltiplas APIs (AwesomeCEP e ViaCEP), garantindo maior disponibilidade do serviço.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages