DynamoDB Manager 🚀
A modern, powerful, and completely free desktop application for managing DynamoDB databases. Built with Svelte 5, SvelteKit, and Electron to provide a Studio 3T-like experience for DynamoDB operations.
🌟 Why DynamoDB Manager?
While the market is flooded with expensive DynamoDB clients that charge premium prices for basic functionality, DynamoDB Manager offers a comprehensive solution that's:
- ✅ 100% Free & Open Source - No subscriptions, no feature limitations
- ✅ Docker-Ready - Perfect for development with DynamoDB Local containers
- ✅ Production-Ready - Connect to real AWS DynamoDB instances with full security
- ✅ Cross-Platform - Windows, macOS, and Linux support
- ✅ Modern Interface - Clean, intuitive design inspired by MongoDB Studio 3T
- ✅ Full CRUD Operations - Create, Read, Update, Delete with advanced features
🎯 Features
🔗 Connection Management
- Multiple simultaneous connections - Work with several DynamoDB instances at once
- Secure credential storage - Your AWS keys are stored locally and securely
- Connection testing - Automatic validation before connecting
- Docker support - Seamlessly connect to DynamoDB Local containers
- Auto-reconnection - Smart retry mechanism for interrupted connections
📊 Data Operations
- Advanced table explorer - Browse all tables with schema information
- Dual view modes - Switch between table view and JSON view instantly
- Smart pagination - Navigate large datasets efficiently
- Powerful filtering - Search and filter data by any field
- Export capabilities - Download your data as JSON for backup
- Batch operations - Handle multiple records efficiently
🛠️ Developer Experience
- Tab-based interface - Work with multiple tables simultaneously
- Syntax highlighting - JSON data with beautiful color coding
- Real-time validation - DynamoDB type checking (S, N, BOOL, etc.)
- Error handling - Clear error messages and recovery suggestions
- Performance optimized - Fast loading even with large datasets
🚀 Quick Start
Prerequisites
Installation
Clone the repository
git clone https://github.com/Draka/dynamodb-manager.git
cd dynamodb-manager
Install dependencies
npm install
Run in development mode
# Web version
npm run dev
# Desktop application
npm run electron:dev
Build for production
# Web build
npm run build
# Desktop application
npm run electron:build
🐳 Using with Docker DynamoDB Local
Perfect for development! Run DynamoDB Local in a container:
# Start DynamoDB Local
docker run -p 8000:8000 amazon/dynamodb-local
# In DynamoDB Manager, connect with:
# - Region: us-east-1
# - Access Key: dummy
# - Secret Key: dummy
# - Endpoint: http://localhost:8000
☁️ Connecting to AWS DynamoDB
- Click "New Connection"
- Enter your AWS credentials:
- Access Key ID: Your AWS access key
- Secret Access Key: Your AWS secret key
- Region: Your preferred AWS region (e.g., us-east-1)
- Click "Test Connection" to verify
- Start managing your tables!
📸 Screenshots
Main Interface - Multi-Connection Tab View
What you see:
- Left Panel: Multiple connections (Local DynamoDB + AWS) with connection status
- Center Panel: Table explorer showing all available tables with item counts
- Right Panel: Data viewer with dual modes (Table/JSON) and smart pagination
- Top Tabs: Multi-connection workspace - work with several databases simultaneously
- Features Visible: Search/filter, export options, pagination controls, responsive table view
This screenshot demonstrates the complete workflow: connecting to both local Docker DynamoDB and AWS, browsing tables, and viewing data with the professional Studio 3T-inspired interface.
🏗️ Architecture
- Frontend: Svelte 5 + SvelteKit 2.22.0
- Desktop: Electron 38.0.0 + electron-builder
- Styling: TailwindCSS 4.0 + Lucide Icons
- AWS Integration: @aws-sdk/client-dynamodb + @aws-sdk/lib-dynamodb
- Build System: Vite 7.0.4
🤝 Contributing
We welcome contributions! Here's how you can help:
🍴 Fork & Submit Changes
Fork the repository
- Click the "Fork" button at the top of this repository
- Clone your fork:
git clone https://github.com/yourusername/dynamodb-manager.git
Create a feature branch
git checkout -b feature/amazing-feature
Make your changes
- Follow the existing code style
- Add tests if applicable
- Update documentation as needed
Test your changes
npm run test
npm run lint
npm run build
Submit a Pull Request
- Push to your fork:
git push origin feature/amazing-feature
- Open a Pull Request with a clear description of your changes
🐛 Bug Reports & Feature Requests
- Bug Reports: Use the GitHub Issues tab with the "bug" label
- Feature Requests: Use the GitHub Issues tab with the "enhancement" label
- Questions: Use the GitHub Discussions tab
💡 Development Guidelines
- Follow the existing code patterns and naming conventions
- Write clear commit messages
- Keep pull requests focused on a single feature/fix
- Add JSDoc comments for new functions
- Test on multiple platforms when possible
📚 Available Scripts
# Development
npm run dev # Web development server (localhost:5174)
npm run electron:dev # Electron development mode
# Building
npm run build # Production web build
npm run preview # Preview production build
npm run electron:pack # Local Electron packaging
npm run electron:build # Multi-platform Electron build
npm run electron:build-win # Windows-specific build
npm run electron:build-mac # macOS-specific build
npm run electron:build-linux # Linux-specific build
# Quality
npm run test # Run unit tests (Vitest)
npm run test:e2e # Run E2E tests (Playwright)
npm run lint # ESLint code analysis
npm run format # Prettier code formatting
🛡️ Security
- Local storage: All credentials are stored locally on your machine
- No telemetry: We don't collect any usage data
- AWS best practices: Follows AWS SDK security guidelines
- Open source: Full transparency - inspect the code yourself
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Inspired by MongoDB's Studio 3T interface design
- Built on the amazing Svelte and Electron ecosystems
- Thanks to the AWS SDK team for excellent DynamoDB support
- Special thanks to all contributors who help make this tool better
📞 Support
Made with ❤️ by developers, for developers. Free forever.
"Because good tools shouldn't cost a fortune."