{"adoption": {"forks": 376, "observed_at": "2026-08-28T04:05:26.425719+00:00", "stars": 1717}, "canonical_url": "https://ross.abutalabs.com/products/datagear", "card": {"archived": false, "artifact_type": "application", "description": "DataGear数据可视化分析平台，自由制作任何您想要的数据看板", "domain": ["data-visualization", "analytics", "databases", "web-development", "self-hosted"], "enriched": true, "function": ["data-visualization", "charts", "analytics", "database", "etl", "self-hosted", "security", "plugin-system"], "health_score": 79, "homepage": "http://www.datagear.tech", "language": "Java", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["datageartech/datagear"], "name": "datageartech/datagear", "platform": ["jvm", "self-hosted", "cross-platform"], "pushed_at": "2026-08-20T10:26:08+00:00", "repo": "datageartech/datagear", "stars": 1717, "tags": ["bi", "dashboard", "echarts", "sql-workbench", "data-import-export", "spring-boot", "business-intelligence", "jdbc", "data-dashboard", "role-based-access-control", "web-server"], "topics": ["data-visualization", "data-analysis", "chart", "echarts", "bi", "business-intelligence", "data-analytics"], "urls": [], "use_cases": ["build interactive data dashboards from SQL databases", "create BI reports and visual analytics for business decision-making", "connect multiple data sources like MySQL, PostgreSQL, ClickHouse, Elasticsearch into one dashboard", "make responsive dashboards for mobile, tablet, desktop, and big-screen displays", "import CSV, Excel, HTTP API, or JSON data for charting", "share dashboards with password protection or iframe embedding", "build custom chart types with pluggable chart extensions", "run a private on-premise data visualization platform"], "what_it_is": "DataGear is an open-source, self-hosted data visualization and analysis platform for freely building interactive data dashboards. It connects to SQL, CSV, Excel, HTTP, and JSON data sources and offers dataset, chart, and dashboard management with 70+ built-in chart types.", "when_to_avoid": ["you only need simple static charts in an existing app - a charting library like ECharts alone may suffice", "you require a fully managed cloud BI service rather than self-hosting", "you need heavy distributed big-data processing rather than dashboarding", "your stack cannot run Java 8+ web applications"], "when_to_choose": ["you need a self-hosted, lightweight BI/dashboard tool you fully control", "you want to combine SQL, file, and HTTP data sources in one dashboard", "you need highly customizable dashboards using raw HTML/JavaScript/CSS with Vue or React", "non-developers should build dashboards via a visual editor", "you must connect to many databases including Chinese domestic ones via JDBC drivers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/datagear", "repo": "datageartech/datagear", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.425719+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:34:12.959241+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6054f225ee36730f22039b86920fcf6473d76f5b3c5526a230c0a14286274dd0", "fetched_at": "2026-08-28T04:05:26.425719+00:00", "kind": "readme", "missing": false, "url": "https://github.com/datageartech/datagear"}, {"content_hash": "c3139b7a8ad8785537b23ab0947d2d8ad107a83657532a8c7a9143200c2ade57", "fetched_at": "2026-08-29T11:10:19.298873+00:00", "kind": "homepage", "missing": false, "url": "http://www.datagear.tech"}, {"content_hash": "dfed1d11c7e22f190d21244a5157806d0d97018e63981e5c2971e5fd618314d3", "fetched_at": "2026-08-29T11:10:19.308385+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/quickstart"}, {"content_hash": "9761cc1eff40bee84f0a26b25ddd051efe63e94a1c38747cfe1c97843b51b525", "fetched_at": "2026-08-29T11:10:19.310366+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/docs"}, {"content_hash": "cca02a4aa226dbd7b23fbaa195f0b6bd93396ae9eb58714cd2f884eeca7cb982", "fetched_at": "2026-08-29T11:10:19.312229+00:00", "kind": "site_page", "missing": false, "url": "http://www.datagear.tech/changelog"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2384, "days_push": 13, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}