Skip to content

dantasrafael/localstack-web

Repository files navigation

LocalStack Web

Uma aplicação frontend moderna desenvolvida com Vue.js 3 e Vuetify 3 que fornece uma interface web intuitiva para gerenciar e visualizar recursos do LocalStack (Não oficial).

LocalStack Web Vuetify LocalStack Docker pulls

🚀 Funcionalidades

📊 Dashboard Principal

  • ✅ Visão geral de todos os serviços LocalStack ativos
  • ✅ Status em tempo real de conectividade
  • ✅ Estatísticas resumidas de cada serviço
  • ✅ Ações rápidas para limpeza de recursos
  • ✅ Métricas de uso e performance
  • ✅ Alertas de saúde dos serviços

🪣 S3 (Simple Storage Service)

  • ✅ Listar todos os buckets com paginação
  • ✅ Visualizar estatísticas detalhadas (número de objetos, tamanho total, custo simulado)
  • ✅ Criar novos buckets com configurações avançadas (versionamento, lifecycle)
  • ✅ Deletar buckets (com limpeza automática de objetos)
  • ✅ Navegar dentro dos buckets com estrutura de pastas
  • ✅ Upload de arquivos (individual e em lote)
  • ✅ Download e exclusão de objetos
  • ✅ Busca e filtros avançados (por tipo, tamanho, data)
  • ✅ Pré-visualização de arquivos (imagens, texto, JSON)
  • ✅ Configuração de políticas de bucket
  • ✅ Gerenciamento de ACLs (Access Control Lists)

📝 SQS (Simple Queue Service)

  • ✅ Listar todas as filas com filtros
  • ✅ Visualizar estatísticas em tempo real (mensagens disponíveis, em processamento, DLQ)
  • ✅ Criar novas filas com configurações personalizadas (FIFO, delay, retention)
  • ✅ Deletar filas com confirmação
  • ✅ Enviar mensagens para filas (individual e em lote)
  • ✅ Receber e visualizar mensagens com formatação JSON
  • ✅ Deletar mensagens individuais ou múltiplas
  • ✅ Purgar filas completamente
  • ✅ Configurar Dead Letter Queues (DLQ)
  • ✅ Monitoramento de métricas de fila

🗃️ DynamoDB

  • ✅ Listar todas as tabelas com status
  • ✅ Visualizar estatísticas detalhadas (número de itens, tamanho, índices)
  • ✅ Criar tabelas com chaves primárias e índices secundários
  • ✅ Deletar tabelas com confirmação
  • ✅ Visualizar itens da tabela com paginação
  • ✅ Adicionar, editar e deletar itens (via JSON e formulário)
  • ✅ Suporte para todos os tipos de dados DynamoDB
  • ✅ Query e Scan com filtros avançados
  • ✅ Backup e restore de dados
  • ✅ Gerenciamento de índices GSI/LSI

⚡ Lambda Functions

  • ✅ Listar todas as funções com filtros
  • ✅ Visualizar detalhes, configurações e versões
  • ✅ Invocar funções com payload customizado
  • ✅ Visualizar resultados, logs e métricas de execução
  • ✅ Deletar funções e versões
  • ✅ Suporte para invocação síncrona e assíncrona
  • ✅ Configurar triggers e event sources
  • ✅ Gerenciar aliases e configurações de concorrência
  • ✅ Monitor de execuções e erros

🌊 Kinesis Streams

  • ✅ Listar todos os streams com status
  • ✅ Visualizar detalhes, shards e métricas
  • ✅ Criar novos streams com configuração de shards
  • ✅ Deletar streams com confirmação
  • ✅ Enviar records para streams (individual e em lote)
  • ✅ Ler records de streams com iteradores
  • ✅ Visualizar dados decodificados em múltiplos formatos
  • ✅ Monitoramento de throughput e latência
  • ✅ Gerenciar resharding automático

📧 SNS (Simple Notification Service)

  • ✅ Listar todos os tópicos
  • ✅ Criar e deletar tópicos
  • ✅ Gerenciar assinatures (subscriptions)
  • ✅ Publicar mensagens em tópicos
  • ✅ Configurar filtros de mensagens
  • ✅ Visualizar histórico de notificações

🔑 KMS (Key Management Service)

  • ✅ Listar todas as chaves de criptografia
  • ✅ Criar novas chaves (simétricas e assimétricas)
  • ✅ Gerenciar aliases de chaves
  • ✅ Criptografar e descriptografar dados
  • ✅ Gerar data keys e random data
  • ✅ Configurar políticas de chaves
  • ✅ Rotação automática de chaves
  • ✅ Importar material de chaves externas
  • ✅ Visualizar uso e métricas de chaves

📨 SES (Simple Email Service)

  • ✅ Gerenciar identidades de email
  • ✅ Enviar emails de teste
  • ✅ Visualizar estatísticas de envio
  • ✅ Configurar templates de email
  • ✅ Monitor de bounces e complaints

🎨 Interface do Usuário

  • ✅ Design moderno e responsivo com Material Design 3
  • ✅ Tema claro/escuro com persistência
  • ✅ Feedback visual para todas as ações
  • ✅ Busca e filtros em tempo real
  • ✅ Notificações toast personalizadas
  • ✅ Configuração dinâmica do endpoint LocalStack
  • ✅ Atalhos de teclado para ações rápidas
  • ✅ Suporte para múltiplos idiomas (i18n)
  • ✅ Modo offline com cache local
  • ✅ Exportação de dados (JSON, CSV)

🛠️ Tecnologias Utilizadas

  • Vue.js 3 - Framework frontend reativo
  • Vuetify 3 - Biblioteca de componentes Material Design
  • Vite - Build tool e dev server
  • Pinia - Gerenciamento de estado
  • Vue Router - Roteamento SPA
  • AWS SDK for JavaScript - Integração com LocalStack
  • Docker - Containerização
  • Nginx - Servidor web para produção

📋 Pré-requisitos

  • Node.js 18+
  • npm ou yarn
  • Docker e Docker Compose (para execução com containers)

🚀 Instalação e Execução

Opção 1: Execução Local (Desenvolvimento)

  1. Clone o repositório
git clone <url-do-repositorio>
cd localstack-web
  1. Instale as dependências
npm install
  1. Execute o LocalStack separadamente
# Em um terminal separado
docker run --rm -it -p 4566:4566 localstack/localstack
  1. Execute a aplicação em modo desenvolvimento
npm run dev
  1. Acesse a aplicação
http://localhost:3000

Opção 2: Execução com Docker Compose (Recomendado)

  1. Clone o repositório
git clone <url-do-repositorio>
cd localstack-web
  1. Execute com Docker Compose
docker-compose up --build
  1. Acesse a aplicação
http://localhost:3000

O LocalStack estará disponível em http://localhost:4566

⚙️ Configuração

Endpoint do LocalStack

A aplicação permite configurar dinamicamente o endpoint do LocalStack através da interface:

  1. Clique no ícone de configurações na barra lateral
  2. Insira o endpoint desejado (ex: http://localhost:4566)
  3. Salve as configurações

Variáveis de Ambiente

Você pode configurar o endpoint através de variáveis de ambiente no docker-compose.yml:

environment:
  - LOCALSTACK_ENDPOINT=http://localstack:4566

🐳 Docker

Build da Imagem

docker build -t localstack-web .

Execução da Imagem

docker run -p 3000:80 localstack-web

🧪 Desenvolvimento

Scripts Disponíveis

# Desenvolvimento
npm run dev

# Build para produção
npm run build

# Preview da build
npm run preview

# Linting
npm run lint

# Formatação de código
npm run format

Estrutura do Projeto

src/
├── components/ # Componentes reutilizáveis
├── views/      # Páginas/Views da aplicação
├── router/     # Configuração de rotas
├── stores/     # Gerenciamento de estado (Pinia)
├── App.vue     # Componente raiz
└── main.js     # Ponto de entrada

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📝 Casos de Uso

Para Desenvolvedores

  • Visualizar rapidamente o estado dos recursos durante desenvolvimento
  • Testar integrações com serviços AWS de forma local
  • Limpar ambientes entre testes
  • Debugar problemas com dados de teste

Para QA/Testers

  • Criar cenários de teste com dados específicos
  • Verificar comportamento de aplicações em diferentes estados
  • Limpar e preparar ambientes de teste
  • Validar integrações com serviços AWS

Para DevOps

  • Monitorar recursos em ambientes de desenvolvimento
  • Automatizar limpeza de ambientes
  • Configurar dados iniciais para testes
  • Verificar configurações de serviços

🚨 Troubleshooting

Problema de Conectividade

  • Verifique se o LocalStack está rodando na porta 4566
  • Confirme se o endpoint está configurado corretamente
  • Verifique se não há problemas de CORS

Performance

  • Use o modo de desenvolvimento do LocalStack para melhor performance
  • Considere configurar persistence se precisar manter dados entre reinicializações

Problemas com Docker

  • Certifique-se de que o Docker está rodando
  • Verifique se as portas 3000 e 4566 estão disponíveis
  • Use docker-compose logs para debug

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

🙏 Agradecimentos

  • LocalStack - Por fornecer uma excelente ferramenta para desenvolvimento local
  • Vue.js - Framework frontend incrível
  • Vuetify - Componentes Material Design para Vue
  • AWS SDK - SDK oficial da AWS

⭐ Se este projeto foi útil para você, considere dar uma estrela no repositório!

About

Uma UI open source não oficial para LocalStack

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •