{"adoption": {"forks": 432, "observed_at": "2026-08-28T04:05:51.797148+00:00", "stars": 1904}, "canonical_url": "https://ross.abutalabs.com/products/magic-api", "card": {"archived": false, "artifact_type": "framework", "description": "magic-api 是一个接口快速开发框架，通过Web页面编写脚本以及配置，自动映射为HTTP接口，无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象", "domain": ["web-development", "backend", "apis", "developer-tools", "databases"], "enriched": true, "function": ["api-framework", "web-framework", "database", "http-server", "templating"], "health_score": 48, "homepage": "http://ssssssss.org", "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["ssssssss-team/magic-api"], "name": "ssssssss-team/magic-api", "platform": ["jvm", "self-hosted"], "pushed_at": "2025-06-05T23:14:14+00:00", "repo": "ssssssss-team/magic-api", "stars": 1904, "tags": ["rapid-api-development", "magic-script", "low-code", "spring-boot-starter", "online-editor", "dynamic-api", "sql-scripting", "swagger-docs", "web-server"], "topics": ["http-api", "api", "restful-api", "api-framework", "http-api-generator", "magic-api", "magic-script", "sql", "automatic-api"], "urls": [], "use_cases": ["build REST APIs without writing Java boilerplate", "create HTTP endpoints from a web UI with scripts", "rapidly prototype database-backed APIs", "expose SQL queries as HTTP interfaces", "manage and version API scripts online", "generate Swagger docs for dynamically created APIs", "configure multiple data sources at runtime"], "what_it_is": "magic-api is a Java-based rapid API development framework that lets developers write scripts and configure HTTP interfaces through a web UI, automatically mapping them to HTTP endpoints without defining Controller, Service, Dao, Mapper, XML, or VO classes. It uses the magic-script scripting engine for dynamic compilation and live publishing, with support for multiple relational and non-relational databases, clustering, and Swagger documentation generation.", "when_to_avoid": ["you need complex business logic better expressed in typed Java code with full IDE tooling", "your team requires strict code review and static typing for all API logic", "you are not on the JVM/Spring Boot ecosystem", "you need extremely high-performance, low-latency endpoints where a scripting layer adds overhead"], "when_to_choose": ["you need to ship CRUD or SQL-backed HTTP APIs quickly in a Java/Spring Boot stack", "you want non-Java developers or ops staff to configure APIs via a web UI", "you need live API editing and publishing without restarting the server", "you want built-in multi-datasource, pagination, caching, and permission features for APIs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/magic-api", "repo": "ssssssss-team/magic-api", "role": "main", "score": 45}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "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:51.797148+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:51.797148+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:11:52.048626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2acb47c3bce0a9e38f46b95f17020c1e6c8bb66e1f45352efbf378450d2ca05", "fetched_at": "2026-08-28T04:05:51.797148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ssssssss-team/magic-api"}, {"content_hash": "b42cb49b5a2fb5caf6eb483f051816d686574a0a4ea27bd1f2e9d85153562d52", "fetched_at": "2026-08-29T10:50:53.139961+00:00", "kind": "homepage", "missing": false, "url": "http://ssssssss.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 25, "longevity": 100, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2312, "days_push": 454, "days_rel": 454, "gap_med": 16.0, "n_releases_24m": 3}, "score": 45, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}