Commit Graph
25 Commits
Author SHA1 Message Date
tiennm99 88cfc380f4 build: move from pnpm to npm
Replace pnpm-lock.yaml with package-lock.json. Both overrides move to
package.json#overrides, including the request -> @cypress/request alias.
allowBuilds for es5-ext becomes package.json#allowScripts.

The deploy script chained "pnpm register", which would have failed once pnpm
was gone; it now calls npm run register.
2026-08-17 12:20:41 +07:00
tiennm99 ffdbc7b048 docs: point legacy implementation reference at in-repo history 2026-08-04 23:13:57 +07:00
tiennm99 69b95836ba fix(deps): remediate advisories and bump actions
- alias legacy request transitive to maintained @cypress/request fork
- pin undici to 7.28.0 for GHSA batch affecting < 7.28.0
- drop form-data/qs/tough-cookie overrides now satisfied upstream
- bump @vercel/functions to 3.7.5 and google-play-scraper to 10.1.3
- bump actions/checkout and actions/setup-node to v7
2026-07-17 17:56:51 +07:00
tiennm99 390c57b6ca Merge remote-tracking branch 'origin/main' 2026-05-13 10:19:34 +07:00
tiennm99 77f9c766f8 docs: write substantive README 2026-05-11 20:16:54 +07:00
tiennm99 1b062f09c5 chore: migrate from npm to pnpm 2026-05-13 10:17:03 +07:00
tiennm99 34354a93a7 refactor: extract bot command catalog as single source of truth
src/bot/commands/index.js owns the canonical catalog (name, description,
adminOnly, build factory). bot.js builds dispatch from it; future menu
registration reads it. Drops the 14 explicit factory imports + the inline
/info handler from bot.js. Prevents the dispatch-vs-menu drift that bit
us with /setdayswarning (commit 0131206 → 49726f1 backfill).
2026-05-10 02:45:50 +07:00
tiennm99 6ed9c2dcb0 chore: drop migration leftovers, refresh env examples + secret-leak scope
- remove MONGODB_URI from .env.example (Atlas migration done; deleted from
  Vercel cloud env too)
- trim .env.deploy.example to vars actually consumed by deploy scripts
  (Upstash creds were only needed by the now-deleted migration script)
- README config table: drop ENV / SOURCE_COMMIT / SCHEDULE_CHECK_APP_TIME
  (never read by code; Java-era leftovers)
- check-secret-leaks: drop MONGODB_URI; add UPSTASH/KV/CRON tokens; widen
  scan roots to include api/
- add scripts/list-upstash-keys.js read-only ops helper
2026-05-10 00:23:16 +07:00
tiennm99 23efed010f chore: backlog cleanup — deps, CI, bot description, ops docs
- pin form-data/qs/tough-cookie via package.json overrides; clears 3 of 4
  Dependabot alerts (request SSRF risk-accepted, no upstream fix)
- add GitHub Actions CI (lint + syntax check) on push/PR
- add /settings and /setdayswarning to setMyCommands
- new npm run describe sets bot profile description via Bot API
- README: drop stale preview warning, add Operations section
2026-05-10 00:13:09 +07:00
tiennm99 f1710a5698 chore: remove cloudflare + docker + legacy migration scripts
Phase 7 cleanup of the Vercel + Upstash consolidation plan:

- delete wrangler.toml, Dockerfile, docker-compose{,.dev}.yml,
  scripts/migrate-atlas-to-upstash.js (one-shot migration done)
- drop wrangler + mongodb devDeps and migrate* npm scripts;
  regenerate package-lock.json (-70 packages)
- prune CF/Wrangler/Atlas-export entries from .gitignore + .vercelignore
- drop MONGODB_URI from .env.deploy.example
- rewrite README for Vercel + Upstash architecture
- refresh stale Cloudflare comments in src/{logger,models,repository}
2026-05-09 21:49:48 +07:00
tiennm99 cf17071679 docs: update Java reference to java-store-scraper-bot
Java repo renamed legacy-store-scraper-bot → java-store-scraper-bot for symmetry with go-store-scraper-bot. Status (deprecated/maintained) belongs in README banners, not URLs.
2026-05-09 17:38:31 +07:00
tiennm99 9eab9e07ba refactor: rename project to store-scraper-bot
GitHub repo rename: js-store-scraper-bot becomes the canonical store-scraper-bot. The Java reference impl is renamed to legacy-store-scraper-bot in parallel.

Updates: package.json name + description, README header + reference link, wrangler.toml worker name (file slated for removal in cleanup phase but kept consistent in the interim).
2026-05-09 17:18:50 +07:00
tiennm99 d33bfeae3d feat: add Atlas → KV one-shot migration script
Operator runs `npm run migrate` (reads admin + group docs from Atlas)
followed by `npm run migrate:bulk` (uploads via wrangler kv bulk put).
Cache collections are skipped by default since they auto-rebuild from
upstream APIs; --include-cache flag migrates them with TTL preserved.

- mongodb is added as a devDependency only — never enters the Worker
  bundle, the Worker still talks to KV exclusively.
- scripts/.atlas-export.json is gitignored (contains exported state).
- README documents the one-time runbook.
2026-05-05 21:15:18 +07:00
tiennm99 3c97553c69 feat: initial JavaScript port of store-scraper-bot
Node.js 20+ ESM port mirroring Java/Go implementations.

- 13 Telegram commands matching Java identifiers
- MongoDB schema parity (common, group, apple_app, google_app collections)
- Apple/Google scrapers calling store-scraper.vercel.app with 10-min cache
- Daily 7am Vietnam-time cron with weekend-silent mode
- HTML table renderer matching Java/Go output
- Docker + Compose (prod and dev)

Untested end-to-end against live Telegram or upstream API.
2026-04-26 20:16:00 +07:00
tiennm99 ca1a409610 Clear and rewrite
Retire the Go port; history continues from the JavaScript implementation (store-scraper-bot).
2026-08-04 23:00:01 +07:00
tiennm99 6bc7756596 docs: update reference to java-store-scraper-bot 2026-05-09 17:38:42 +07:00
tiennm99 a5cade43cf docs: point reference link at legacy-store-scraper-bot
Java reference impl renamed from store-scraper-bot to legacy-store-scraper-bot. The new canonical store-scraper-bot is the JS implementation.
2026-05-09 17:29:21 +07:00
tiennm99 fdb5bee896 docs: mark project as preview, AI-assisted, untested 2026-04-25 22:01:35 +07:00
tiennm99 f243bc9b88 Update README.md 2025-12-01 00:08:58 +07:00
Tien Nguyen Minh 165023f539 Initial commit 2025-11-15 18:52:19 +07:00
tiennm99 c5f3628f01 Clear and rewrite
Retire the Java implementation; history continues from the Go port (store-scraper-bot-go).
2026-08-04 22:59:44 +07:00
tiennm99 22a3f6bc5c feat(api): update base url 2025-11-11 20:59:56 +07:00
tiennm99 de1f84d278 feat(self scraper): try to crawl without country
But fail
2025-11-12 23:10:00 +07:00
tiennm99 35e88de99a feat(api): init 2025-10-26 09:19:36 +07:00
Tien Nguyen Minh 0efd277edb Initial commit 2025-10-26 00:02:49 +07:00