Skip to content

Repository files navigation

DataSwitch

A high-performance, universal database workstation and data transformation hub built with Tauri 2, React 19, TypeScript, Tailwind CSS, and Rust.


Supported Engines & Formats

Engine / Format Driver Type Description
SQLite Embedded Relational Local file databases (.db, .sqlite, .sqlite3) with live staging.
DuckDB In-Process Analytical Fast columnar OLAP analytical database (.duckdb, .ddb).
Parquet Columnar File Archive Read-only analytics archive with instant schema reflection (.parquet).
PostgreSQL Remote Relational Full schema reflection, custom queries, and transactional mutations.
MySQL Remote Relational Connection pooling, table data exploration, and query execution.
MongoDB Document / NoSQL URI or host/port connection, document sampling schema inference, MQL queries.

Core Capabilities

1. Excel-Grade DataGrid

  • TanStack Table v8 virtualized data view with custom Excel-style column resizing and row numbering.
  • Text-wrap toggle in the action bar for dense or wrapped viewing.
  • Right-click row context menu for staged row deletion.
  • In-place dirty cell editing with staged rollback and atomic batch commit.

2. Monaco SQL & Query Terminal

  • Full-featured SQL workspace with multi-tab support, syntax highlighting, and execution timing.
  • Supports raw SQL queries across relational and analytical engines, as well as JSON commands for MongoDB.

3. Database Migration Workstation

  • Automated cross-dialect table schema conversion with smart data type mapping.
  • High-throughput batched row streaming from source to target.
  • Target DDL preview before execution with complete migration history audit log.

4. Database Sync & Schema Differ

  • Structural schema comparison between different database instances or dialects.
  • Detects added, altered, or dropped columns with precision.
  • Interactive diff viewer and automatic generation of executable ALTER/CREATE sync plans.

5. Backup & Restore Center

  • Full DDL and DML database dumps (.sql files) with options for schema-only or complete data dumps.
  • Sequential statement restore engine with rollback support and persistent audit records.

6. Security & Keyring Vault

  • Master password protection using Argon2id key derivation and AES-256-GCM encryption.
  • Seamless integration with OS credential storage (Windows Credential Manager via Keyring 3.x).

Tech Stack

  • Shell & Runtime: Tauri 2
  • Backend Core: Rust (Async Tokio, SQLx, DuckDB, Parquet, MongoDB with Rustls)
  • Frontend Framework: React 19 + TypeScript
  • Styling & Design System: Tailwind CSS (Gray scale dark theme)
  • Icons: React Icons (react-icons/vsc VS Code icon suite)
  • Editor: Monaco Editor

Getting Started

Prerequisites

  • Node.js (v18+)
  • Rust (1.80+)
  • Visual Studio 2022 C++ Build Tools (on Windows)

Installation

# Clone the repository
git clone https://github.com/your-username/DataSwitch.git
cd DataSwitch

# Install frontend dependencies
npm install

Running Locally

# Start the Tauri development desktop app
npm run tauri dev

Building for Production

# Compile the frontend bundle and build the native desktop binary
npm run tauri build

Architecture Principles

  • Modular Design: Every component and driver is decoupled with a single responsibility.
  • Strict File Limit: All source files remain strictly under 200 lines for maximum maintainability.
  • Unified Driver Trait: All database engines implement the asynchronous DatabaseDriver Rust trait.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages