A graphical user interface for managing Badger key-value database
-
Database Connection: Open Badger databases with support for:
- Custom database path selection
- Encryption key support
- Compression options (Snappy, ZSTD, None)
- Custom key delimiter for nested key parsing
-
Data Management: Full CRUD operations
- List all keys with pagination
- View key-value pairs
- Add new entries
- Update existing values
- Delete entries
- Search by key prefix
-
User Interface:
- Color-coded nested key visualization
- Split-panel design for browsing and editing
- Dark theme interface
- Error handling with modal dialogs
- Go 1.18 or higher
- Node.js 14 or higher
- Wails CLI (optional for development)
# For development (requires Wails CLI)
wails dev -m -nosyncgomod -tags webkit2_41
# For production
wails build -m -nosyncgomod -tags webkit2_41-
Open Database:
- Launch the application
- Click "Browse" to select your Badger database folder
- (Optional) Enter decryption key if database is encrypted
- Select compression type used by the database
- Enter a delimiter character for nested keys (e.g.,
/for keys likeitems/book/123) - Click "Open Database"
-
Manage Data:
- View all keys in the left panel
- Click on a key to view its value
- Use "Add New Entry" to create new key-value pairs
- Click "Edit" to modify values
- Click "Delete" to remove entries
- Use the search box to filter keys by prefix
- Click "Load More" for paginated results
-
Key Format:
- Keys are displayed as color-coded blocks separated by your chosen delimiter
- Example:
items/book/123displays as [items][book][123] with different colors - Each level of the hierarchy gets a distinct color for easy visualization
- Backend: Go with Badger DB integration
- Frontend: Vue 3 with Vue Router
- Communication: Wails v2 binding for Go-JavaScript interop
- Styling: Tailwind CSS (inline utility classes)
The application exposes the following backend methods:
OpenDirectoryDialog(): Opens a directory picker dialogCall(AppMessage): Main RPC endpoint for database operationsopen: Open database connectionlist: List keys with optional paginationsearch: Search keys with prefix filter and paginationget: Retrieve value for a specific keyset: Create or update a key-value pairdelete: Remove a key-value pair
- Update backend methods in
app.go - Update frontend components in
frontend/src/ - Run
wails build -m -nosyncgomod -tags webkit2_41
See LICENSE file for details.