openvibers/openvibe.shoes STATUS.json
STATUS.json
| 1 | { |
| 2 | "repository": "OpenVibers/OpenVibe.Shoes", |
| 3 | "version": "0.1.0", |
| 4 | "stage": "product", |
| 5 | "code": true, |
| 6 | "plan": "OpenVibe.Shoes: every shoe, every market, the right price — one page per model with every store's all-in price, Shoes' own daily price snapshots, the size-price curve, cited specs, a price watch at a size and paste-a-link tracking through OpenVibe.Watch, and official drops with a reminder on Today", |
| 7 | "runtime": "node 22, express 4, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9", |
| 8 | "port": "5180", |
| 9 | "domain": "open.shoes", |
| 10 | "contracts": "openvibe-contracts v0.419.0", |
| 11 | "sdk": "openvibe-sdk v0.161.0", |
| 12 | "shared": "openvibe-shared v4.235.0", |
| 13 | "packages": [ |
| 14 | "openvibe-contracts v0.419.0", |
| 15 | "openvibe-publishing v1.7.0", |
| 16 | "openvibe-sdk v0.161.0", |
| 17 | "openvibe-shared v4.235.0" |
| 18 | ], |
| 19 | "summary": "OpenVibe.Shoes is the network's shoe resource. It reads OpenVibe.Deals' public offers (and the official eBay Browse API when a key pair is set), keeps the footwear in its own catalogue, and shows one page per model with every store's all-in price, a price history from its own one-snapshot-per-offer-per-day record, the size-price curve where sizes are known, and specs/fit/release/care only from cited open sources. A signed-in person can ask Watch to tell them when the model drops below a price at their size, or paste any listing link and have Watch apply its own fetch rules. Official release dates come from the brands' and stores' own public release pages; a reminder goes on Today. Shoes never enters a raffle, never scrapes Marketplace and carries no affiliate links.", |
| 20 | "works": [ |
| 21 | "Models and offers with a unique slug, all-in price, list price, condition, size, colourway, source check time and stale flag", |
| 22 | "One snapshot per offer per day (the first check wins), the price history and the size-price curve from those snapshots", |
| 23 | "The offers job over OpenVibe.Deals' public API, with the footwear classifier and product brand lookup", |
| 24 | "The drops job over a brand's or store's own release page, plus optional RSS feeds; every release cited and dated", |
| 25 | "A price watch at a size and a pasted listing link through OpenVibe.Watch's API with the person's own Network token", |
| 26 | "A drop reminder on OpenVibe.Today with the person's own token; no automated raffle entries", |
| 27 | "The public API: search with facets, one model with offers/history/curve/facts, the price a Watch polls, drops, the person's watches, source status, OpenAPI 3.1", |
| 28 | "The home via sc.room: hero, proof, biggest price drops today, dropping this week, popular models, three scenes, explore, developers, FAQ, network", |
| 29 | "Server-rendered pages, discovery artifacts, cache headers, account export/deletion and deploy files", |
| 30 | "Tests on PGlite and PostgreSQL: pure rules, the catalogue, the job parsers, every HTTP route" |
| 31 | ], |
| 32 | "notYet": [ |
| 33 | "eBay is off until the host sets SHOES_EBAY_CLIENT_ID and SHOES_EBAY_CLIENT_SECRET", |
| 34 | "A watch needs the person's own Network token; a session without one saves it on Shoes and marks it not_connected", |
| 35 | "Specs, fit notes and care notes are empty until a cited open source is added to the shoe_facts table; the pages say not known yet", |
| 36 | "The size-price curve is empty until a source states the size; no size is invented", |
| 37 | "No closet, image search or merchant inventory feed (plan v2/v3)", |
| 38 | "The drops parser knows the Nike SNKRS launch payload and plain RSS; other calendars need their own parser" |
| 39 | ], |
| 40 | "capabilitiesRegistered": false, |
| 41 | "serviceManifestRegistered": false, |
| 42 | "deployed": false, |
| 43 | "placeholderInSites": false, |
| 44 | "seed": { |
| 45 | "run_at": "2026-10-31T22:34:27Z", |
| 46 | "sources": { |
| 47 | "offers": { |
| 48 | "ok": true, |
| 49 | "pages": 60, |
| 50 | "seen": 1500, |
| 51 | "candidates": 182, |
| 52 | "product_lookups": 165, |
| 53 | "offers": 178, |
| 54 | "skipped": 4 |
| 55 | }, |
| 56 | "drops": { |
| 57 | "ok": true, |
| 58 | "sources": 1, |
| 59 | "releases": 16, |
| 60 | "drops": 16, |
| 61 | "skipped": 0 |
| 62 | }, |
| 63 | "ebay": { |
| 64 | "ok": true, |
| 65 | "configured": false, |
| 66 | "offers": 0, |
| 67 | "note": "off: no developer key pair" |
| 68 | } |
| 69 | }, |
| 70 | "counts": { |
| 71 | "models": 169, |
| 72 | "offers": 178, |
| 73 | "snapshots": 178, |
| 74 | "drops": 16, |
| 75 | "watches": 0, |
| 76 | "facts": 0 |
| 77 | } |
| 78 | }, |
| 79 | "features": [ |
| 80 | "models and offers", |
| 81 | "all-in price with stale flag", |
| 82 | "daily price snapshots and history", |
| 83 | "size-price curve", |
| 84 | "cited facts or not known yet", |
| 85 | "offers job", |
| 86 | "drops job", |
| 87 | "eBay job (off without keys)", |
| 88 | "watch at a size", |
| 89 | "paste-a-link tracking", |
| 90 | "drop reminders on Today", |
| 91 | "public API and OpenAPI", |
| 92 | "account export and deletion", |
| 93 | "Network sign-in", |
| 94 | "server-rendered pages", |
| 95 | "discovery", |
| 96 | "deploy files" |
| 97 | ], |
| 98 | "deployment": "not deployed: the unit and nginx vhost are deploy/systemd/openvibe-shoes.service and deploy/nginx/open.shoes.conf", |
| 99 | "updated": "2026-11-13" |
| 100 | } |
| 101 |