A powerful, cross-platform desktop tool built with Tauri, React, and TypeScript
π₯ Download β’ β¨ Features β’ π Quick Start β’ π Documentation
Unlike web-based database tools, RelWave runs natively on your desktop with direct connections to your databases, offering:
|
Native Performance Direct database connections without web overhead |
Enhanced Security Encrypted credentials stored locally |
Full Control Complete offline functionality |
ποΈ Multi-Database Support
- PostgreSQL - Full support for advanced features
- MySQL - Complete MySQL 5.7+ compatibility
- MariaDB - Optimized for MariaDB-specific features
π Visual Database Tools
- ER Diagrams - Auto-generate entity-relationship diagrams
- Schema Explorer - Intuitive table and column browsing
- Data Visualization - Built-in charts and graphs
- Query Builder - Visual query construction
β‘ Developer-Friendly
- SQL Editor - Syntax highlighting and auto-completion
- Export Data - CSV, JSON, and SQL formats
- Connection Management - Save and organize multiple databases
- Auto-Updates - Stay up-to-date automatically
| Platform | Download | Description |
|---|---|---|
.exe | .msi |
NSIS installer (recommended) or MSI package | |
.deb | .AppImage |
Debian package or portable AppImage |
π Download the latest release β
Click to expand build instructions
# Required tools
- Node.js 18+
- pnpm
- Rust (for Tauri)# 1. Clone the repository
git clone https://github.com/Relwave/relwave-app.git
cd relwave-app
# 2. Install dependencies
pnpm install
# 3. Install bridge dependencies
cd bridge && pnpm install && cd ..
# 4. Run in development mode
pnpm tauri devWindows:
cd bridge && pnpm build && cd ..
npx pkg ./bridge/dist/index.cjs --target node18-win-x64 \
--output ./src-tauri/resources/bridge-x86_64-pc-windows-msvc.exe
pnpm tauri buildLinux:
# Install dependencies
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
# Build
cd bridge && pnpm build && cd ..
npx pkg ./bridge/dist/index.cjs --target node18-linux-x64 \
--output ./src-tauri/resources/bridge-x86_64-unknown-linux-gnu
pnpm tauri buildRelWave uses a bridge architecture for optimal performance:
The application uses a bridge architecture:
βββββββββββββββββββ JSON-RPC βββββββββββββββββββ
β Tauri/React β <ββββββββββββββ> β Node.js Bridge β
β Frontend β stdin/stdout β (pg, mysql2) β
βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Databases β
β PostgreSQL/MySQLβ
βββββββββββββββββββ
Benefits:
- π Native database drivers without Rust bindings
- π Process isolation for enhanced security
- π― Optimized for each database type
RelWave/
βββ π¨ src/ # React frontend
β βββ components/ # UI components
β β βββ chart/ # Visualization components
β β βββ er-diagram/ # ER diagram renderer
β β βββ query-builder/ # Visual query builder
β β βββ schema-explorer/ # Schema navigation
β βββ hooks/ # Custom React hooks
β βββ services/ # API layer
β βββ types/ # TypeScript definitions
β
βββ π bridge/ # Database bridge (Node.js)
β βββ src/
β β βββ connectors/ # Database drivers
β β βββ handlers/ # JSON-RPC handlers
β β βββ queries/ # SQL templates
β β βββ services/ # Business logic
β βββ __tests__/ # Test suite
β
βββ π¦ src-tauri/ # Tauri backend (Rust)
βββ src/ # Rust source
βββ capabilities/ # Permissions
βββ resources/ # Bundled assets
Database Connections:
| Platform | Configuration Path |
|---|---|
| Windows | %APPDATA%\relwave\databases.json |
| Linux | ~/.relwave/databases.json |
π Security Note: Credentials are encrypted and stored separately using machine-specific keys
Environment Variables:
| Variable | Purpose |
|---|---|
RELWAVE_HOME |
Override default config directory |
Running the Test Suite
Start test databases with Docker:
cd bridge
docker-compose -f docker-compose.test.yml up -dConfigure environment variables (create bridge/.env):
# PostgreSQL
REAL_POSTGRES_HOST=localhost
REAL_POSTGRES_PORT=5432
REAL_POSTGRES_USER=testuser
REAL_POSTGRES_PASSWORD=testpass
REAL_POSTGRES_DATABASE=testdb
# MySQL
REAL_MYSQL_HOST=localhost
REAL_MYSQL_PORT=3306
REAL_MYSQL_USER=testuser
REAL_MYSQL_PASSWORD=testpass
REAL_MYSQL_DATABASE=testdb
# MariaDB
REAL_MARIADB_HOST=localhost
REAL_MARIADB_PORT=3307
REAL_MARIADB_USER=testuser
REAL_MARIADB_PASSWORD=testpass
REAL_MARIADB_DATABASE=testdbcd bridge
pnpm test- β Database service operations
- β Connection management
- β PostgreSQL integration
- β MySQL integration
- β MariaDB integration
- β Query result caching
- β Encryption & persistence
We welcome contributions! Here's how to get started:
- π΄ Fork the repository
- πΏ Create a feature branch:
git checkout -b feature/amazing-feature - πΎ Commit your changes:
git commit -m 'Add amazing feature' - π€ Push to the branch:
git push origin feature/amazing-feature - π Open a Pull Request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
RelWave keeps itself up-to-date automatically:
- β Checks for updates on startup
- β Downloads in the background
- β Prompts to install when ready
- β Cryptographically signed releases
|
Tauri |
React |
TypeScript Type Safety |
React Flow Diagrams |
Tailwind CSS Styling |
This project is licensed under the MIT License - see the LICENSE file for details.
β Star us on GitHub β’ π Report Bug β’ π‘ Request Feature
Made with β€οΈ by the RelWave team