{"adoption": {"forks": 86, "observed_at": "2026-08-28T04:04:22.541124+00:00", "stars": 1325}, "canonical_url": "https://ross.abutalabs.com/products/vue-ethereum-ipfs", "card": {"archived": false, "artifact_type": "framework", "description": "Distributed Application Starter: Vue front-end, Ethereum / IPFS Backend", "domain": ["blockchain", "web-development", "microservices", "frontend"], "enriched": true, "function": ["boilerplate", "frontend-framework", "blockchain", "p2p", "object-storage"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["redacademy/vue-ethereum-ipfs"], "name": "redacademy/vue-ethereum-ipfs", "platform": ["browser"], "pushed_at": "2018-03-24T21:44:05+00:00", "repo": "redacademy/vue-ethereum-ipfs", "stars": 1325, "tags": ["boilerplate", "starter-kit", "dapp", "decentralized-applications", "ethereum", "ipfs", "vue", "web3", "smart-contracts", "truffle", "ganache", "metamask", "ipfs-publish", "cryptocurrency", "nodejs"], "topics": ["javascript", "solidity", "vue", "ethereum", "ipfs"], "urls": [], "use_cases": ["boilerplate for building a decentralized app with vue and ethereum", "start a dapp project with a vue frontend and ipfs backend", "deploy a vue webapp to ipfs", "template for an ethereum smart contract web app", "build an indestructible website hosted on ipfs", "starter kit for web3 development with vue", "integrate metamask and web3 contracts into a vue app"], "what_it_is": "A distributed application (dApp) starter kit that pairs a Vue.js front-end with an Ethereum smart contract backend and IPFS for content distribution. It bundles build tooling (webpack, Truffle, Ganache), MetaMask integration, and an IPFS publish pipeline so state lives on-chain and HTML is delivered from the IPFS network.", "when_to_avoid": ["You need a maintained starter - the last release dates to 2018 and it uses older Vue/webpack tooling", "You're building a conventional server-backed web app with no blockchain or IPFS component", "You require production-grade or current-best-practice Ethereum/web3 tooling"], "when_to_choose": ["You want to scaffold a dApp combining Vue, Ethereum smart contracts, and IPFS hosting in one project", "You need a ready-made pipeline that compiles Solidity contracts with Truffle and publishes the built Vue app to IPFS", "You're experimenting with fully decentralized frontends where application state is kept on-chain"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vue-ethereum-ipfs", "repo": "redacademy/vue-ethereum-ipfs", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "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:04:22.541124+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.541124+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:20:49.056599+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "50dc2e8c4589fb2f200fa996f805753bebda89d538b0b66774e239aee2593f3b", "fetched_at": "2026-08-28T04:04:22.541124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/redacademy/vue-ethereum-ipfs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3131, "days_push": 3084, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}