A lightweight web interface to browse and edit Amazon SQS and SNS resources when using LocalStack.
Modern dashboard with real-time metrics and navigation
-
Modern Dashboard
- Real-time overview of SQS and SNS services
- Live statistics: Total Queues, Total Topics, Total Messages, Busiest Queue
- Top 5 queues with most messages (color-coded by message count)
- Quick action cards for easy navigation
- Auto-refresh every 30 seconds
-
Unified Navigation
- Consistent top navigation bar across all pages
- Home icon for quick dashboard access
- Seamless navigation between Dashboard, SQS, and SNS
-
SQS Dashboard
- List all queues with real-time message counts
- View queue attributes in a friendly table (like AWS console)
- Inline editing of writable attributes
- Send a message to any queue (with support for FIFO MessageGroupId and DeduplicationId)
- Peek at up to 5 current messages (non-destructive, with quick visibility reset)
- Purge all messages in a queue (danger action)
- Search bar, auto-refresh, and sidebar message counts
- Loader overlay and success toast for smooth UX
SQS dashboard: View, edit, send, peek, and purge messages in your queues
- SNS Dashboard
- List all topics
- View topic attributes in a table
- See all SQS queues subscribed to each topic
- Search bar and resizable sidebar
- Node.js 20+
- pnpm
- Docker (optional, for compose)
- A running LocalStack container exposing SQS and SNS (default port 4566)
pnpm install
# (optional) install client deps explicitly
pnpm --prefix client install# 1) Backend (NestJS on :3000)
pnpm start:dev
# 2) Frontend (Vite on :5173 with API proxy)
pnpm --prefix client devConfigure the React API base URL via env:
- Create
client/.env.development:
VITE_API_BASE_URL=http://localhost:3000Then open http://localhost:5173.
We bundle a compose file to run both services:
# create .env (same dir as docker-compose.yml)
cat > .env <<EOF
BACKEND_PORT=3000
FRONTEND_PORT=5173
VITE_API_BASE_URL=http://localhost:3000
EOF
docker compose upAccess:
- Frontend:
http://localhost:${FRONTEND_PORT}(default 5173) - Backend API:
http://localhost:${BACKEND_PORT}/api(default 3000)
# build client and server, then run
pnpm run build:client && pnpm run build && pnpm run start:prodNotes:
- Nest serves the built React app from
client/distwith SPA fallback (non-/apiroutes). - Client fetches use
VITE_API_BASE_URLif set; otherwise same-origin/api.
/Dashboard/sqsSQS Explorer/snsSNS Topics
- Backend: NestJS in
src/*exposes APIs under/api. - Frontend: React + TypeScript (Vite) lives in
client/*. - Legacy static pages under
public/*.htmlhave been removed in favor of the SPA.
v2.0.1
- Add docker compose
- Fix docker host and port when using docker compose
v2.0.0
- Migrated UI to React (TypeScript) SPA with Vite and React Router.
- Nest now serves
client/distand includes SPA fallback for non-/apiroutes. - Added
VITE_API_BASE_URLfor client-side API domain configuration. - Added
docker-compose.ymlto run backend and frontend together. - Upgraded dev base images in compose to Node 20-alpine.
- Breaking: removed legacy static pages
public/sqs.htmlandpublic/sns.html.- Old URLs
/sqs.html→/sqs,/sns.html→/sns.
- Old URLs
v1.5.0
- Complete UI redesign with dashboard metrics and quick actions.
v1.3.0
- SQS: send message (FIFO support), peek messages, purge queue actions.
v1.2.0
- Adds SNS dashboard: list topics, view attributes, see SQS subscriptions.
Feel free to open issues or PRs for improvements! ✨