{"id":44894555,"url":"https://github.com/relwave/relwave-app","last_synced_at":"2026-04-09T10:15:50.579Z","repository":{"id":332829487,"uuid":"1098401629","full_name":"Relwave/relwave-app","owner":"Relwave","description":"A modern, cross-platform database management and visualization tool Built with Tauri, React, and TypeScript","archived":false,"fork":false,"pushed_at":"2026-02-10T18:19:11.000Z","size":3352,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-10T21:52:50.840Z","etag":null,"topics":["database","database-management","desktop-application","tools","visualizer"],"latest_commit_sha":null,"homepage":"https://relwave.tech","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Relwave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-17T16:34:42.000Z","updated_at":"2026-01-29T18:04:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Relwave/relwave-app","commit_stats":null,"previous_names":["yashh56/relwave","relwave/relwave-app"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Relwave/relwave-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relwave%2Frelwave-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relwave%2Frelwave-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relwave%2Frelwave-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relwave%2Frelwave-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Relwave","download_url":"https://codeload.github.com/Relwave/relwave-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relwave%2Frelwave-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29556409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T18:16:07.221Z","status":"ssl_error","status_checked_at":"2026-02-17T18:16:04.782Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","database-management","desktop-application","tools","visualizer"],"created_at":"2026-02-17T20:01:37.646Z","updated_at":"2026-04-09T10:15:50.564Z","avatar_url":"https://github.com/Relwave.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"public/wave.png\" alt=\"RelWave Logo\" width=\"140\" /\u003e\n\n# RelWave\n\n### Modern Database Management, Visualization \u0026 Version Control\n\nA powerful, cross-platform desktop application for database management with native Git version control — built with Tauri, React, and TypeScript.\n\n[![Version](https://img.shields.io/badge/version-0.5.0--beta.1-0066ff?style=for-the-badge)](https://github.com/Relwave/relwave-app/releases)\n[![License](https://img.shields.io/badge/license-MIT-00cc66?style=for-the-badge)](LICENSE)\n[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux-lightgray?style=for-the-badge)](https://github.com/Relwave/relwave-app/releases)\n\n[**Download**](https://github.com/Relwave/relwave-app/releases) · [**Features**](FEATURES.md) · [**Quick Start**](#quick-start) · [**Documentation**](#documentation)\n\n\u003c/div\u003e\n\n---\n\n## Overview\n\n**RelWave** is a desktop-native database management tool that brings together schema exploration, data visualization, query building, and Git version control into a single cohesive interface. It connects directly to your databases using native drivers — no browser, no cloud dependency, no compromise.\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/PKief/vscode-material-icon-theme/main/icons/database.svg\" width=\"48\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eNative Performance\u003c/strong\u003e\u003cbr/\u003e\nDirect database connections without browser overhead\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/PKief/vscode-material-icon-theme/main/icons/lock.svg\" width=\"48\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eSecure by Design\u003c/strong\u003e\u003cbr/\u003e\nEncrypted credentials with machine-level protection\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/git/git-original.svg\" width=\"48\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eGit Native\u003c/strong\u003e\u003cbr/\u003e\nBuilt-in version control for database projects\n\u003c/td\u003e\n\u003ctd width=\"25%\" align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/PKief/vscode-material-icon-theme/main/icons/settings.svg\" width=\"48\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eOffline-First\u003c/strong\u003e\u003cbr/\u003e\nFull functionality without internet dependency\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n## Features\n\nFor a comprehensive breakdown of all features, see the [Feature Reference](FEATURES.md).\n\n### Database Management\n\n- **Multi-database support** — PostgreSQL, MySQL, MariaDB, and SQLite with native drivers\n- **Auto-discovery** — Detect local and Docker-based databases automatically\n- **Connection URL parsing** — Import connections via standard database URLs\n- **Schema Explorer** — Navigate tables, columns, indexes, and relationships\n- **Row operations** — Insert, edit, and delete rows with foreign key support\n- **Migration management** — Track, apply, and rollback schema migrations\n\n### Git Version Control\n\n- **Repository management** — Initialize and manage Git repositories from within the app\n- **Staging and commits** — Stage files individually or in bulk with full diff preview\n- **Branch operations** — Create, switch, and manage branches\n- **Remote sync** — Push, pull, and fetch with remote repository support\n- **Change tracking** — View file-level diffs and full commit history\n- **Stash management** — Save and restore work-in-progress changes\n- **Smart .gitignore** — Automatic generation and management of ignore rules\n\n### Visual Tools\n\n- **ER Diagrams** — Auto-generated, interactive entity-relationship diagrams\n- **Visual Query Builder** — Drag-and-drop query construction with live SQL preview\n- **Data Visualization** — Bar, line, pie, and scatter charts with export to PNG/SVG\n- **SQL Workspace** — Multi-tab CodeMirror editor with syntax highlighting and execution\n\n### Developer Experience\n\n- **Multi-format export** — CSV, JSON, and SQL export for tables and query results\n- **Query history** — Persistent history with instant replay\n- **Automatic updates** — Background downloads with cryptographically signed releases\n- **Customizable themes** — Light/dark modes with multiple accent color variants\n\n## Quick Start\n\n### Installation\n\n| Platform | Formats | Notes |\n| -------- | ------- | ----- |\n| **Windows** | `.exe` · `.msi` | NSIS installer (recommended) or MSI package |\n| **Linux** | `.deb` · `.AppImage` | Debian package or portable AppImage |\n\n**[Download the latest release](https://github.com/Relwave/relwave-app/releases)**\n\n### Build from Source\n\n#### Prerequisites\n\n- Node.js 18+\n- pnpm\n- Rust toolchain (for Tauri)\n\nRelWave uses separate package manifests for the app and the bridge, so install dependencies in both locations.\n\n#### Development\n\n```bash\ngit clone https://github.com/Relwave/relwave-app.git\ncd relwave-app\n\n# Install app dependencies\npnpm install\n\n# Install bridge dependencies\npnpm --dir bridge install\n\n# Start development mode\npnpm tauri dev\n```\n\n#### Production Build\n\nInstall both dependency sets first:\n\n```bash\npnpm install\npnpm --dir bridge install\n```\n\n**Windows:**\n\n```bash\npnpm run bridge:package\npnpm tauri build\n```\n\n**Linux:**\n\n```bash\nsudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf\n\npnpm run bridge:package\npnpm tauri build\n```\n\nThe root `bridge:package` script delegates to the platform-specific bridge packaging command in `bridge/package.json` and prepares the bundled SQLite native binary in `src-tauri/resources/`.\n\n## Documentation\n\n### Architecture\n\nRelWave uses a **bridge architecture** — a Tauri/React frontend communicates with a Node.js process over JSON-RPC via stdin/stdout. The bridge handles all database and Git operations using native drivers.\n\n```\n┌──────────────────────────┐\n│     Tauri + React UI     │\n│      (TypeScript)        │\n│                          │\n│   Database Explorer      │\n│   ER Diagrams            │\n│   Query Builder          │\n│   Git Interface          │\n└────────────┬─────────────┘\n             │ JSON-RPC (stdio)\n             │\n┌────────────┴─────────────┐\n│     Node.js Bridge       │\n│                          │\n│   pg · mysql2            │\n│   simple-git             │\n│   Query Cache            │\n└────────────┬─────────────┘\n             │\n       ┌─────┴──────┐\n       │            │\n   Databases    Git Repos\n```\n\n**Why this architecture?**\n\n| Benefit | Description |\n| ------- | ----------- |\n| Performance | Native database drivers without complex Rust FFI bindings |\n| Security | Process isolation prevents direct memory access vulnerabilities |\n| Flexibility | New drivers and integrations added without modifying the Rust layer |\n| Reliability | Independent process lifecycle — bridge crashes don't take down the UI |\n\n### Project Structure\n\n```\nrelwave-app/\n├── src/                          # React frontend\n│   ├── components/               # Shared UI components\n│   ├── features/                 # Feature-based modules (database, git, etc.)\n│   ├── lib/                      # Shared libraries and utilities\n│   ├── pages/                    # Top-level page components\n│   └── services/                 # API communication layer\n│\n├── bridge/                       # Node.js bridge process\n│   ├── src/\n│   │   ├── connectors/           # Database drivers (pg, mysql2, better-sqlite3)\n│   │   ├── handlers/             # JSON-RPC request handlers\n│   │   ├── services/             # Business logic (Git, DB)\n│   │   └── queries/              # SQL query templates\n│   └── __tests__/                # Bridge test suite\n│\n└── src-tauri/                    # Tauri backend (Rust)\n    ├── src/                      # Application entry point and bridge management\n    └── resources/                # Bundled bridge executable and native bindings\n```\n\n### Configuration\n\n**Connection storage locations:**\n\n| Platform | Path |\n| -------- | ---- |\n| Windows | `%APPDATA%\\relwave\\databases.json` |\n| Linux | `~/.config/relwave/databases.json` |\n\nAll credentials are encrypted using machine-specific keys. Connection strings and passwords are never stored in plain text.\n\n**Environment variables:**\n\n| Variable | Description | Default |\n| -------- | ----------- | ------- |\n| `RELWAVE_HOME` | Override configuration directory | — |\n| `RELWAVE_LOG` | Enable debug logging | `false` |\n| `RELWAVE_BRIDGE` | Custom bridge executable path | — |\n\n## Testing\n\n### Prerequisites\n\nStart the test databases using Docker:\n\n```bash\ncd bridge\ndocker-compose -f docker-compose.test.yml up -d\n```\n\nCreate `bridge/.env` with the test configuration:\n\n```env\nREAL_POSTGRES_HOST=localhost\nREAL_POSTGRES_PORT=5432\nREAL_POSTGRES_USER=testuser\nREAL_POSTGRES_PASSWORD=testpass\nREAL_POSTGRES_DATABASE=testdb\n\nREAL_MYSQL_HOST=localhost\nREAL_MYSQL_PORT=3306\nREAL_MYSQL_USER=testuser\nREAL_MYSQL_PASSWORD=testpass\nREAL_MYSQL_DATABASE=testdb\n\nREAL_MARIADB_HOST=localhost\nREAL_MARIADB_PORT=3307\nREAL_MARIADB_USER=testuser\nREAL_MARIADB_PASSWORD=testpass\nREAL_MARIADB_DATABASE=testdb\n```\n\n### Running Tests\n\n```bash\ncd bridge\npnpm test\n```\n\n### Coverage\n\n| Area | Status |\n| ---- | ------ |\n| Database service operations | Covered |\n| Connection management | Covered |\n| PostgreSQL integration | Covered |\n| MySQL integration | Covered |\n| MariaDB integration | Covered |\n| Query result caching | Covered |\n| Encryption and persistence | Covered |\n| Git operations (status, commit, branch, remote) | Covered |\n| Git advanced features (push, pull, fetch, revert) | Covered |\n\n## Contributing\n\nContributions are welcome. Whether fixing bugs, adding features, or improving documentation — all help is appreciated.\n\n1. Fork the repository\n2. Clone your fork: `git clone https://github.com/your-username/relwave-app.git`\n3. Create a feature branch: `git checkout -b feature/your-feature-name`\n4. Commit your changes: `git commit -m 'Add: description of change'`\n5. Push to your fork: `git push origin feature/your-feature-name`\n6. Open a Pull Request\n\n**Guidelines:**\n\n- Follow the existing TypeScript and React conventions\n- Add tests for new functionality\n- Update documentation when applicable\n- Write clear, descriptive commit messages\n- Provide context in Pull Request descriptions\n\n## Technology Stack\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"16%\"\u003e\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/tauri/tauri-original.svg\" width=\"40\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eTauri\u003c/strong\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"16%\"\u003e\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/rust/rust-original.svg\" width=\"40\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eRust\u003c/strong\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"16%\"\u003e\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/react/react-original.svg\" width=\"40\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eReact 18\u003c/strong\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"16%\"\u003e\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/typescript/typescript-original.svg\" width=\"40\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eTypeScript\u003c/strong\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"16%\"\u003e\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/nodejs/nodejs-original.svg\" width=\"40\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eNode.js\u003c/strong\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"16%\"\u003e\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/git/git-original.svg\" width=\"40\" /\u003e\u003cbr/\u003e\n\u003cstrong\u003eGit\u003c/strong\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n**Additional libraries:** Tailwind CSS, shadcn/ui, React Flow, Recharts, CodeMirror, React Query, simple-git, node-postgres, mysql2\n\n### Acknowledgments\n\n- [Freepik](https://www.freepik.com) — Logo design via [Flaticon](https://www.flaticon.com)\n- [shadcn/ui](https://ui.shadcn.com/) — Component library\n\n## License\n\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Database Management · Visual Schema Tools · Git Version Control**\n\n[Star on GitHub](https://github.com/Relwave/relwave-app) · [Download](https://github.com/Relwave/relwave-app/releases) · [Report Issues](https://github.com/Relwave/relwave-app/issues) · [Request Features](https://github.com/Relwave/relwave-app/issues)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelwave%2Frelwave-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frelwave%2Frelwave-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelwave%2Frelwave-app/lists"}