GoNavi  by Syngnat

Modern, lightweight database management client

Created 2 months ago
1,035 stars

Top 36.0% on SourcePulse

GitHubView on GitHub
Project Summary

GoNavi is a modern, lightweight, cross-platform database management tool designed for developers and DBAs seeking a unified desktop experience across diverse database systems. It offers native-like responsiveness and low resource consumption, distinguishing itself from Electron-based alternatives with smaller binary sizes, faster startup times, and reduced memory usage.

How It Works

GoNavi employs a Go backend coupled with Wails (utilizing WebView) and a React frontend. This architecture prioritizes native performance with minimal runtime overhead. Key design choices include virtualized rendering and optimized DataGrid workflows for efficient handling of large datasets, and a unified connectivity layer supporting URI parsing, SSH tunnels, and proxy connections. An on-demand driver activation system allows for extensibility to a wide array of data sources.

Quick Start & Requirements

  • Development: Clone the repository (git clone https://github.com/Syngnat/GoNavi.git), navigate into the directory (cd GoNavi), and run wails dev for hot-reloading development.
  • Build: Use wails build for the current platform or wails build -clean for a clean build. Artifacts are generated in build/bin.
  • Prerequisites: Go 1.21+, Node.js 18+, and the Wails CLI (go install github.com/wailsapp/wails/v2/cmd/wails@latest).
  • Linux Dependencies: Requires libgtk-3-0 and WebKitGTK runtime libraries (libwebkit2gtk-4.0-37, libjavascriptcoregtk-4.0-18 for older Ubuntu/Debian, or libwebkit2gtk-4.1-0, libjavascriptcoregtk-4.1-0 for newer versions).
  • Docs: CONTRIBUTING.md

Highlighted Details

  • AI Assistant: Integrates with OpenAI, Google Gemini, and Anthropic Claude for context-aware SQL generation, query explanation, and schema review, supporting custom API endpoints.
  • Broad Database Support: Includes built-in support for MySQL, PostgreSQL, Oracle, and Redis, with optional driver agents for MariaDB, SQL Server, SQLite, DuckDB, MongoDB, ClickHouse, and several domestic Chinese databases.
  • Large Dataset Handling: Features virtualized rendering and optimized DataGrid workflows for smooth interaction with high-volume tables, including in-place cell editing and batch operations.
  • Production Workflow: Offers a comprehensive SQL editor (Monaco core) with context-aware completion, multi-tab querying, database/table-level batch export/backup, and robust connectivity options (SSH, proxy).

Maintenance & Community

The project welcomes contributions via issues and pull requests, with guidelines detailed in CONTRIBUTING.md. Automated releases are triggered by pushing version tags to GitHub Actions.

Licensing & Compatibility

Licensed under the Apache-2.0 license, permitting commercial use and integration into closed-source projects.

Limitations & Caveats

macOS users may encounter Gatekeeper warnings requiring manual quarantine removal. Linux users must ensure specific WebKitGTK dependencies are installed. Support for certain databases (e.g., MariaDB, SQL Server, SQLite) requires installing optional driver agents.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
25
Issues (30d)
102
Star History
347 stars in the last 30 days

Explore Similar Projects

Starred by Tomas Valenta Tomas Valenta(Cofounder of E2B), Max Stoiber Max Stoiber(Author of styled-components; Director Engineering at Shopify), and
2 more.

studio by prisma

0.2%
2k
Database GUI and embeddable data editor
Created 6 years ago
Updated 3 days ago
Feedback? Help us improve.