Skip to content

BrunoSFreschi/EndpointLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

EndpointLab

SPA simples para montar payloads JSON, executar requisições HTTP e visualizar respostas rapidamente.

Stack

  • HTML
  • TailwindCSS via CDN
  • JavaScript Vanilla
  • fetch para execução de requests
  • localStorage para persistência local

Sem build, sem framework e sem backend.

Objetivo

O projeto foi pensado para testar endpoints de forma rápida, com uma interface leve para:

  • configurar URL e método HTTP
  • adicionar e remover campos dinâmicos
  • gerar payload automaticamente
  • executar requisições únicas ou em lote
  • visualizar resposta e tempo de execução
  • salvar e importar formulários localmente

Estrutura

EndpointLab/
├── index.html
├── styles.css
└── js/
    └── app.js

Arquitetura

js/app.js

Concentra o bootstrap da aplicação e também as funções de:

  • renderização da interface
  • gerenciamento de formulário
  • persistência local
  • execução de requests
  • importação e exportação de JSON

Essa consolidação foi feita para permitir abertura direta do index.html sem depender de módulos ES e sem exigir servidor local.

Como executar

A proposta do projeto agora e abrir da forma mais simples possivel:

  1. Abra a pasta do projeto.
  2. Dê duplo clique em index.html.
  3. O app abre direto no navegador.

Nao precisa subir servidor local para usar a interface.

Se preferir, tambem pode arrastar index.html para o navegador.

Publicar no GitHub Pages

Este projeto ja esta preparado para deploy automatico via GitHub Actions.

Arquivos adicionados para isso:

  • .github/workflows/deploy-pages.yml
  • .nojekyll

Passo a passo

  1. Suba o projeto para um repositorio no GitHub.
  2. Garanta que a branch principal se chama main.
  3. Faça push:
git add .
git commit -m "chore: setup github pages deploy"
git push origin main
  1. No GitHub, abra Settings > Pages.
  2. Em Build and deployment, selecione Source: GitHub Actions.
  3. Aguarde o workflow Deploy static site to GitHub Pages finalizar em Actions.

URL final esperada:

https://SEU-USUARIO.github.io/NOME-DO-REPOSITORIO/

Se quiser domínio personalizado depois, adicione um CNAME na raiz do projeto.

Como usar

  1. Informe a URL do endpoint.
  2. Escolha o método HTTP.
  3. Adicione campos com + Campo.
  4. Confira o Payload Preview.
  5. Clique em Enviar para executar.
  6. Use Salvar para persistir localmente.
  7. Use Exportar e Importar para mover formulários em JSON.

Execução em lote

A aplicação permite configurar:

  • Iteracoes: quantas vezes o request será executado
  • Intervalo (ms): espera entre uma execução e outra

Se Iteracoes for maior que 1, o app usa o fluxo em lote.

Persistência local

Os formulários ficam salvos no navegador via localStorage.

Isso permite:

  • recuperar o último formulário usado
  • exportar o formulário atual como JSON
  • importar um JSON válido novamente para o app

Limitações

  • Algumas APIs podem falhar no navegador por CORS.
  • Não há proxy backend no projeto.
  • O projeto foi simplificado para rodar sem servidor local, entao a maior parte da lógica fica concentrada em js/app.js.
  • Headers customizados ainda estão previstos pela estrutura, mas a UI atual está focada no fluxo principal do MVP.

Próximos passos possíveis

  • suporte visual para headers customizados
  • histórico de execuções
  • validações mais ricas por tipo de campo
  • presets de endpoints
  • métricas agregadas para requests em lote

Licença

Uso livre para estudo e evolução do projeto.

About

EndpointLab é uma SPA leve e sem dependências projetada para testes rápidos de endpoints HTTP. A aplicação permite montar payloads JSON dinamicamente, executar requisições (simples ou em lote) e inspecionar respostas em tempo real

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors