{"adoption": {"forks": 465, "observed_at": "2026-08-28T04:03:17.596351+00:00", "stars": 1029}, "canonical_url": "https://ross.abutalabs.com/products/store-pos", "card": {"archived": false, "artifact_type": "application", "description": "Modern Electron Point of Sale — React till, Express + SQLite API, LAN multi-terminal, catalog/photos, and Windows installer.", "domain": ["e-commerce", "desktop-applications", "cross-platform"], "enriched": true, "function": ["gui", "http-server", "auth", "database", "search-engine"], "health_score": 78, "homepage": null, "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["tngoman/Store-POS"], "name": "tngoman/Store-POS", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-11T23:24:40+00:00", "repo": "tngoman/Store-POS", "stars": 1029, "tags": ["point-of-sale", "pos", "retail", "cash-register", "barcode-scanning", "inventory-management", "receipts", "sqlite", "lan-multi-terminal", "react", "express", "electron-builder", "printing", "electron", "desktop", "nodejs", "typescript"], "topics": ["point-of-sale", "pos", "express", "cash", "desktop-app", "electron", "lan", "react", "register", "retail", "sqlite", "typescript", "vite"], "urls": [], "use_cases": ["run a point of sale system for a small retail shop", "set up multiple networked tills over LAN", "scan barcodes and process cash or card payments", "manage product catalog with photos and inventory tracking", "track sales history and generate printable receipts", "manage staff accounts with permission controls"], "what_it_is": "Store POS is a modern Electron-based desktop point-of-sale application built with React, TypeScript, and an Express + SQLite backend. It supports a single standalone register or multiple networked tills over LAN, with catalog, inventory, customer, and staff management.", "when_to_avoid": ["you need cloud-hosted or multi-store POS with centralized reporting", "you require a license-compliant deployment (no license file is present)", "you need payment processor integrations beyond cash and exact-tender card entry", "you need non-Windows packaged installers out of the box"], "when_to_choose": ["you need a free, self-hosted POS for a single register or small LAN of tills", "you want a Windows installer with no native database build dependencies", "you need offline-capable desktop POS with SQLite storage", "you want built-in staff permissions, held sales, and receipt printing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/store-pos", "repo": "tngoman/Store-POS", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "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:03:17.596351+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.596351+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:07:41.258389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09abcd423dc5b7a6ae4d60d4bc739bca811cf5a6853e27d81b0e3d11ce53c642", "fetched_at": "2026-08-28T04:03:17.596351+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tngoman/Store-POS"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2385, "days_push": 22, "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}}