Skip to content

The-Andb/andb-desktop-legacy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

The Andb UI

The Intelligent Database Orchestrator β€” Desktop application for seamless schema visualization, comparison, and synchronization.

πŸš€ Features

  • Auto-hide Sidebar: Collapsible navigation with keyboard shortcuts
  • Dual-Pane Layout: Resizable source/destination panes for efficient comparison
  • Atomic Operations: Smart Refresh & Compare individual objects or categories
  • Multiple Database Connections: Manage multiple database configurations
  • Connection Pairs: Select source ↔ target for compare/migrate operations
  • Visual Diff: Side-by-side comparison with status indicators & syntax highlighting
  • Context-Aware Dashboard: Intelligent filtering of connections and pairs based on active project context
  • Export Preview: Live SQL preview with syntax highlighting (Rainbow brackets + Line numbers)
  • Migration Management: Create and track database migrations
  • Script Generator: Generate andb-core CLI scripts
  • High-Performance Storage: SQLite-backed metadata and snapshot management
  • Dark/Light Theme: Modern UI with theme support

πŸ› οΈ Tech Stack

  • Frontend: Vue.js 3 + TypeScript
  • Desktop: Electron
  • Styling: Tailwind CSS
  • Icons: Lucide Vue Next
  • State Management: Pinia
  • Routing: Vue Router
  • Build Tool: Vite
  • Database Tool: andb-core
  • Metadata Storage: SQLite (better-sqlite3)

πŸ“₯ Download

Latest Release: v2.3.0

πŸ“¦ Installation

# Clone the repository
git clone https://github.com/The-Andb/andb.git
cd andb

# Install dependencies
npm install

# Start development server
npm run dev

# Start Electron app
npm run electron:dev

# Build for production
npm run electron:build

# Build and Publish to GitHub Releases
GH_TOKEN=your_token npm run electron:publish

🎯 Usage

Development

# Start Vite dev server
npm run dev

# Start Electron with hot reload
npm run electron:dev

Production

# Build the application
npm run build

# Package for distribution
npm run electron:build

# Package and Publish to GitHub
GH_TOKEN=your_token npm run electron:publish

πŸ“ Project Structure

andb-ui/
β”œβ”€β”€ electron/           # Electron main process
β”‚   β”œβ”€β”€ main.ts        # Main process entry
β”‚   └── preload.ts     # Preload script
β”œβ”€β”€ src/               # Vue.js application
β”‚   β”œβ”€β”€ components/    # Reusable components
β”‚   β”œβ”€β”€ views/         # Page components
β”‚   β”œβ”€β”€ stores/        # Pinia stores
β”‚   β”œβ”€β”€ router/        # Vue Router configuration
β”‚   β”œβ”€β”€ utils/         # Utility functions
β”‚   β”œβ”€β”€ types/         # TypeScript types
β”‚   β”œβ”€β”€ App.vue        # Root component
β”‚   β”œβ”€β”€ main.ts        # Application entry
β”‚   └── style.css      # Global styles
β”œβ”€β”€ public/            # Static assets
β”œβ”€β”€ index.html         # HTML template
β”œβ”€β”€ package.json       # Dependencies and scripts
β”œβ”€β”€ vite.config.ts     # Vite configuration
β”œβ”€β”€ tailwind.config.js # Tailwind CSS configuration
└── tsconfig.json      # TypeScript configuration

🎨 UI Components

Layout Components

  • Sidebar: Auto-hide navigation with connection management
  • Header: Connection pair selector and quick actions
  • Main Content: Resizable dual-pane layout

Views

  • Dashboard: Overview of connections and recent operations
  • Export: Database objects export with SQL preview
  • Compare: Side-by-side database comparison
  • Migrate: Migration management and history
  • Scripts: andb-core script generator
  • Settings: Application configuration

⌨️ Keyboard Shortcuts

  • Ctrl+B: Toggle sidebar
  • Ctrl+Left/Right: Resize panes
  • Ctrl+Shift+C: Compare selected
  • Ctrl+Shift+E: Export selected
  • Ctrl+Shift+M: Create migration

πŸ”§ Configuration

Environment Variables

Create a .env file in the root directory:

# Development
NODE_ENV=development

# Database connections (example)
DEV_DB_HOST=localhost
DEV_DB_NAME=dev_database
DEV_DB_USER=root
DEV_DB_PASS=password

STAGE_DB_HOST=stage-server.com
STAGE_DB_NAME=stage_database
STAGE_DB_USER=stage_user
STAGE_DB_PASS=stage_password

PROD_DB_HOST=prod-server.com
PROD_DB_NAME=prod_database
PROD_DB_USER=prod_user
PROD_DB_PASS=prod_password

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments


Made with ❀️ by ph4n4n

About

Electron UI for andb and more

Resources

License

Stars

8 stars

Watchers

2 watching

Forks

Packages

Β 
Β 
Β 

Contributors