Global lifestyle database — real-venue guides across 11 cities × 33 lifestyle categories, plus a curated archive of 400+ classic video games.
A static, single-page web frontend backed by a Node.js data pipeline. All content is Markdown; the frontend renders it with marked.js.
中文版说明 · Data pipeline docs · Project evaluation · Integrity report
| Cities | Shanghai · Hangzhou · Shenzhen · Hong Kong · Tokyo · Seoul · Singapore · Bangkok · New York · Moscow · Saint Petersburg |
| Lifestyle themes | 7 (游戏 娱乐 / 娱乐 夜生活 / 景点 观光 / 购物 周边 / 健康 医疗 / 生活 日常 / 身后 殡葬) |
| Lifestyle categories | 33 |
| Markdown files | 930+ |
| Games archived | 400+ across 5 decades (1980s–2020s) |
| Frontend | Vanilla HTML/JS/CSS — no build step |
| Pipeline | Node.js 18+ + Amap API (China cities) |
| License | MIT |
# from repo root
python3 -m http.server 8000
# open http://localhost:8000No build, no install. The frontend is fully static.
npm install # installs Jest + dev deps only
npm test# Add your Amap API key — see https://lbs.amap.com/
echo "AMAP_KEY=your_key_here" > .env
npm run fetch # fetch all 4 China cities
npm run fetch -- --city=shanghai --category=spa # one city × category
npm run generate # turn data/venues/*.json into themed/*.mdInternational cities (Tokyo, New York, Moscow, …) and the Dianping crawler are disabled by default — see 数据管道说明.md.
dude-database/
├── 游戏 娱乐 景点 购物 健康 生活 身后/ ← 7 themed directories, primary content
├── gaming/ ← classic games archive (decade × series)
├── adult-industry/ ← global adult industry overview (18+)
├── assets/
│ ├── app.js ← frontend logic (vanilla JS)
│ └── style.css ← design tokens + components
├── scripts/
│ ├── data-pipeline/ ← Amap fetch + EJS generator
│ └── tests/ ← Jest suite (structure + content quality)
├── _meta/ ← restructuring & audit history
├── index.html ← single-page frontend entry
├── README.md ← you are here
├── LICENSE ← MIT
├── CONTRIBUTING.md ← how to add cities / categories
├── 模板.md ← content template (中文)
└── 项目说明.md 项目评估.md 整改报告.md 数据管道说明.md (中文项目文档)
- Coverage — every (city × category) combination has at least one curated guide.
- Trust — MVP-slice guides carry a machine-readable confidence block; see below.
- Freshness — the data pipeline is wired to refresh China-city data weekly; non-China cities are maintained manually.
- Open contribution — see CONTRIBUTING.md. Dianping scraping is not accepted.
The first 30 audited guides (杭州 / 上海 / 东京 × 10 high-frequency categories, defined in scripts/mvp-slice.json) carry an HTML-comment metadata block that is invisible when rendered but machine-readable:
<!-- dude:meta
confidence: L2
confidence-note: 9家门店全部真实且地址准确…
audited: 2026-09-04
venues: 9
-->| Level | Meaning |
|---|---|
| L1 | Verified — cross-checked against official sources within 90 days |
| L2 | Brand-verified — real, well-known venues; prices/status not individually re-checked |
| L3 | Generic — placeholder-style entries, unverifiable venues, or known stale/closed listings |
Audit state: L1×0 / L2×21 / L3×9 (2026-09-04). Every confidence-note states the exact evidence for the grade — see the grading table in _meta/2026-09-04-mvp-confidence-audit.md.
Regenerate the coverage matrix (363 files × confidence levels) after editing:
node scripts/audit-coverage.js --pretty # writes data/coverage.jsonThe Jest suite asserts that all 30 MVP files keep a valid metadata block, so the audit cannot silently rot.
See 项目评估.md for the current state and the v1.0 MVP plan (/Users/allengaller/.claude/plans/zesty-spinning-map.md):
- Phase 1 — Hygiene (done) — README/LICENSE, frontend bug fixes, CI guards
- Phase 2 — MVP lock-in (done 2026-09-04) — 30 guides audited with confidence metadata; L3 remediation list in the audit record
- Phase 3 — Search/UX — Fuse.js + static
assets/index.json - Phase 4 — Pipeline — fix known bugs so the pipeline can supplement L1 data
- Phase 5 — Validation — Jest assertions on content (not just file existence)
The database includes content on medical, end-of-life, and adult-industry topics. By browsing, you confirm that you are 18+ and will rely on official channels for any consequential decisions (medical referrals, funeral arrangements, etc.).
The project is under active integrity review. See 整改报告.md for the audit log.
© 2026 DUDE Database Contributors · MIT License