Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

728 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dash

DashVideo.mov

Dash is an open-source data exploration and visualization tool built with DuckDB. It provides an intuitive interface for connecting to databases, importing data files, creating visualizations, and building interactive dashboards.

Dash is available at https://app.dash.builders/, also have a look at our Demo.

Dash Logo

Features

  • Data Import: Drag and drop files to import data in various formats
  • SQL Workbench: Write and execute SQL queries against your data
  • Interactive Dashboards: Create and customize dashboards with visualizations
  • Data Visualization: Generate charts and graphs to visualize your data
  • Export Functionality: Export your data and analysis results

Technologies

  • Frontend: Next.js, React, TypeScript
  • UI Components: Radix UI, Tailwind CSS
  • Data Processing: DuckDB-WASM for in-browser SQL processing
  • State Management: Zustand
  • Visualization: ECharts
  • Editor: Monaco Editor

Getting Started

Prerequisites

  • Node.js (LTS version recommended)
  • pnpm (recommended) or npm or yarn

Installation

  1. Clone the repository:

    git clone https://github.com/gropaul/dash-ui.git
    cd dash-ui
  2. Install dependencies:

    pnpm install
  3. Start the development server:

    pnpm dev
  4. Open http://localhost:3000 in your browser to use Dash.

Building for Production

To build the application for production:

pnpm build

Dash is a static export, so there is no server to run. To preview the build locally:

pnpm exec serve out

Self-hosting

pnpm build writes the complete app to out/ as plain static files, and

pnpm build:static

packages that up as dist-web/dash-web-<version>.zip along with setup instructions. The same bundle is attached to every release, so you can drop it on an S3 bucket, GitHub Pages or any static host and run your own Dash. See docs/self-hosting.md for the requirements (HTTPS, deep-link fallback, optional cross-origin isolation headers) and an AWS walkthrough.

Testing

This project uses Playwright for end-to-end testing. Tests are located in the ./test directory.

Run tests

pnpm exec playwright test

Record a new test

Make sure the dev server is running, then:

pnpm exec playwright codegen http://localhost:3000

This opens a browser where you interact with the app, and Playwright records your actions as test code. Copy the generated code into a new file under ./test/.

View test report

pnpm exec playwright show-report

DuckDB Extension

There is a DuckDB extension for Dash available here.

Contributing

Contributions are welcome! If you find Dash helpful, please consider:

  1. Reporting bugs or suggesting features through GitHub issues
  2. Submitting pull requests for bug fixes or enhancements
  3. Giving our repository a star on GitHub

License

This project is open source. Please check the repository for license details.

Repository

Visit our repository: github.com/gropaul/dash-ui

About

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages