Open-source project
AnsGoo/openDataV avatar
AnsGoo/openDataV

OpenDataV: Building Browser-Based Data Screens with Vue 3

OpenDataV 是一个纯前端的拖拽式、可视化、低代码数据可视化🌈开发平台,你可以用它自由的拼接成各种✨炫酷的大屏,同时支持用户方便的开发自己的组件并接入平台。

1,370 stars219 forksTypeScriptApache-2.0

At a glance

What is it?
OpenDataV is a pure front-end, drag-and-drop visualization platform for assembling large-screen dashboards in the browser. Its Vue 3 editor supports component manipulation, API-backed data, custom components, and local project workflows, but the documented component and data-protocol coverage remains incomplete.
Who is it for?
OpenDataV fits frontend engineers who already accept a young TypeScript and Vue 3 stack and need a visual dashboard editor rather than a backend development platform. It is a poor fit for teams requiring completed GraphQL, MQTT, code generation, or broad cross-browser support.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Why OpenDataV targets dashboard assemblers

OpenDataV addresses the work of building browser-facing data screens without manually laying out every component, chart, and label. Its intended users are frontend developers, low-code practitioners, and teams assembling operational dashboards, monitoring views, or presentation-style large screens. The project presents itself as a pure front-end platform, so its responsibility begins with the editor and rendered dashboard. A separate backend repository is linked, but OpenDataV itself does not present as a complete data platform that provisions databases, manages server-side datasets, or authenticates users.

The available editing operations cover much of the mechanical work involved in assembling a screen. Users can add components, edit them, preview the result, and import, export, or save a project. The layer controls include arranging a component to the top or bottom, moving it up or down, toggling visibility, and copying, cutting, or pasting it. Component operations include dragging, scaling, rotating, grouping, splitting, removing, and automatic alignment. Undo and operation-history recovery are also listed.

That scope makes OpenDataV more useful than a static component gallery, although it does not turn it into a general-purpose application builder. Code generation, script management, global data access, and several network protocols remain planned features. The README also warns that only some components have been developed. This is an important boundary for evaluation: the editor framework may be useful even when its current component library does not match a target screen.

The OpenDataV editor and data path

OpenDataV uses Vue 3, Vite, and TypeScript, with NaiveUI providing the interface components. The repository is organized as a Monorepo containing separate packages for base functionality, UI, scripts, data, and the designer. The root scripts also operate across the example application and package workspaces. This layout gives the project a clear division between editor infrastructure and reusable packages.

Components are automatically scanned and registered, then loaded asynchronously. The README states that this approach is intended to improve rendering speed and that components keep independent dependencies from the base framework. That separation matters for a dashboard platform because teams may need a specialized visualization or business-specific display without placing its dependencies in the editor shell.

Data can come from example data, static data, or HTTP interfaces. JavaScript processing is reported as complete, allowing configured data to undergo custom dynamic handling before a component renders it. API management is included in the editor. However, the planned list separates GraphQL, gRPC, WebSocket, MQTT, and SocketIO as future adapters, so the current data path should not be described as a general real-time integration framework.

Project snapshots are stored in IndexDB, which the README identifies as a way to reduce in-memory snapshot use and speed up access. The documentation does not define snapshot retention, storage quotas, migration behavior, export portability, or recovery across browsers. It also does not explain credential handling for HTTP interfaces. Those omissions matter if screens depend on authenticated requests or if projects must move reliably between users and machines.

Running the repository from a clean checkout

The documented development environment uses Node.js 16.14.x, pnpm 7.9.3, and Vue 3.2.37. The root package file currently declares broader ranges for some dependencies, so the README's environment table remains the clearest project-specific compatibility statement. The following sequence installs dependencies, builds the core libraries, and starts the example application through the existing workspace scripts.

Use `pnpm install` when the workspace is already configured. The documented `pnpm bootstrap` is an alternative because the root package defines it as an installation command.

bash
pnpm install

The installation should populate workspace dependencies from `pnpm-workspace.yaml`. The README does not describe expected installation output.

The core libraries must be built before running the development application in the documented sequence. The root `build:lib` script invokes the package-level build recursively.

bash
pnpm build:lib

A successful run should complete the recursive package builds. The repository does not specify a single output banner or artifact path for this command.

The root `dev` script delegates to the application in `examples`, allowing the editor to be opened through the Vite development environment.

bash
pnpm dev

The README does not document the displayed local URL or port, so the terminal output from Vite should be used. The repository includes `examples/.env.development` and `examples/.env.production`, but the README does not specify any required environment key. A first practical use is to open the development page, add a documented component, configure its data source, and preview the assembled screen. The README shows these as editor actions but does not give exact menu labels beyond component addition, component operations, and component data configuration.

Component extension points and Monorepo boundaries

Custom components are an explicit OpenDataV feature. A team can define its own configuration items and connect the component to the platform, according to the README. This is potentially useful when an organization has an existing visualization written in TypeScript or Vue and needs it inside the same editing model as built-in components.

The Monorepo structure gives such work a defined location under `packages`, while independent component dependencies are intended to reduce coupling. Still, the README does not publish a complete extension API, a minimal component example, registration schema, lifecycle contract, or compatibility policy. It confirms the extension direction, but not the precise effort needed to package and publish a third-party component.

The root `publish` script recursively runs package-level publication tasks, and `build:lib` runs recursive library builds. These are monorepo-level controls rather than a documented release workflow for an individual custom component. Contributors should therefore inspect the relevant package's scripts and build configuration before assuming that copying a component into the workspace is enough.

The repository includes `examples`, `mock`, `resource`, `resources`, and documentation-related entries. Those paths indicate room for examples, mock data, assets, and project-specific support files. However, the README does not define which paths form a stable public API. Teams embedding OpenDataV should treat the component registration and data configuration contracts as code-level dependencies that require their own compatibility checks.

OpenDataV's current browser and feature limits

The clearest documented failure boundary is browser support. OpenDataV has been tested by its maintainers only on the latest Chrome and Microsoft Edge, while other browsers remain untested. This does not prove incompatibility elsewhere, but it removes any basis for promising Firefox or Safari support. Browser-specific layout, storage, clipboard, canvas, or IndexedDB behavior should therefore be verified against the deployment audience.

The feature list mixes completed work with planned work. Editing, previewing, import, export, save, layer operations, transforms, undo, custom components, theme switching, JavaScript data processing, and example, static, and HTTP data adapters are marked complete. Component management, script management, Python support, GraphQL, gRPC, WebSocket, MQTT, SocketIO, code generation, dynamic documentation, and global data ingestion are not complete.

This makes OpenDataV the wrong tool when a dashboard depends on one of those missing integrations from the outset. A team needing MQTT telemetry or global data binding would need to extend the project itself. A team satisfied with HTTP or static data and a limited set of visual components may find the current editor useful.

The documentation is also light on operational behavior. It does not cover collaboration, roles, server-side persistence, authentication, granular permissions, or automated tests across browsers. The separate backend link indicates that backend-connected use is possible, but its integration contract is not described here. Those capabilities cannot be credited to the front-end project on the basis of the backend URL alone.

How OpenDataV differs from a component library

A conventional Vue visualization library supplies components and props while leaving layout, project persistence, interface management, and editor history to the application. OpenDataV includes many of those surrounding concerns in one browser-oriented workflow. Its users manipulate selected components as editable layers, configure their data, save or export the project, and preview the assembled result.

The difference is architectural rather than cosmetic. OpenDataV combines a designer shell, component registry, project operations, data adapters, and snapshot storage. A regular component library would normally expose a narrower programming interface and expect the consuming application to build editing behavior and persistence.

That concentration reduces work for teams that want a visual dashboard editor. It also creates coupling to OpenDataV's own project model and component conventions. Consumers who need a conventional reusable chart package, or who want full control over application routing, server persistence, and data ownership, may find the editor too specialized.

The alternative described here is therefore a custom Vue application built from separate visualization and editing dependencies. OpenDataV favors visual assembly and dashboard-specific operations; a custom application favors explicit code control. The correct choice depends on whether the team wants an editor shell sooner than it wants to define every interaction itself.

Maintenance signals, releases, and Apache-2.0 obligations

The repository is not archived, and its last push was on 2026-09-29. That is a recent maintenance signal based on the recent repository activity, although it does not establish release frequency or production stability. The documented releases are v0.0.6 on 2024-12-01, V0.0.5 on 2024-05-19, and V0.0.4 on 2024-05-10. The version remains below 1.0.0, and the latest listed release predates the most recent push, so repository activity and packaged release history should be considered separately.

Upgrade cost is most likely to come from the early package and browser dependencies. The README specifies Node.js 16.14.x and pnpm 7.9.3, while the root package declares newer compatible dependency ranges. Adopters using a different Node.js release or pnpm version are outside the documented setup unless they verify the workspace and Vite tooling themselves. The lint configuration, Vite configuration, multiple packages, and example environment files add more moving parts than a small single-package component library.

The project declares Apache-2.0. That license permits use and modification under its conditions, but it also includes notice and licensing obligations. This review does not provide legal advice. An adopting organization should review `LICENSE`, preserve required notices, and check the notices attached to bundled third-party dependencies before distribution.

Editorial conclusion

OpenDataV fits frontend engineers who already accept a young TypeScript and Vue 3 stack and need a visual dashboard editor rather than a backend development platform. It is a poor fit for teams requiring completed GraphQL, MQTT, code generation, or broad cross-browser support. Before adoption, verify that the available components cover the required dashboard design, inspect how project data and credentials are handled, and confirm that the documented Chrome and Edge coverage matches the deployment target. The clearest first boundary is whether the required component and interface adapters already exist.

Frequently asked questions

What is OpenDataV used for?

OpenDataV is a pure front-end, drag-and-drop low-code platform for assembling data-visualization screens and large-screen dashboards. It supports editing, previewing, project import, export, saving, component manipulation, and data configuration.

How do I install and start OpenDataV for development?

The documented sequence is to install dependencies with `pnpm install`, build package libraries with `pnpm build:lib`, and start the example application with `pnpm dev`. The README specifies Node.js 16.14.x and pnpm 7.9.3.

Which data sources and custom components does OpenDataV support?

The completed data adapters cover example data, static data, and HTTP interfaces, with JavaScript processing listed as complete. Custom components and user-defined configuration items are supported, but the README does not provide a complete extension interface.

Which browsers are supported by OpenDataV?

The README says the project has only been tested in the latest versions of Chrome and Microsoft Edge. It does not claim tested support for other browsers.

Official sources

  1. AnsGoo/openDataV on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ansgoo-opendatav.svg)](https://hysenlabs.com/projects/ansgoo-opendatav)

Was this useful?