Production travel marketplace for buses, Stays, flights, local taxi, boda, tours, car rentals, and cargo.
Production readiness endpoints:
/health — lightweight process liveness endpoint for Heroku/uptime checks./ready — strict MongoDB + public marketplace discovery readiness. It is 200 only after real catalogue data is available.For live crawl/data verification run npm run seo:live-audit. The audit checks Googlebot/Inspection Tool responses and confirms the homepage is not serving the degraded empty discovery shell.
This release keeps the existing Classic Trip product and design intact while carrying forward the Google/Search SEO fixes from v1.6.92 and cleaning the source tree for production maintenance.
npm ci
npm run check
npm test
For Heroku, use the deployment-safe verification gate before pushing:
npm run verify:heroku
This gate includes syntax/EJS validation, unit tests, SEO, cleanup, runtime/network resilience, deterministic lockfile/dependency integrity and the full go-live chain. It intentionally avoids Chromium and live advisory-service dependencies so it is safe in a Heroku build/CI environment.
For a stricter developer/CI release audit on a machine with browser support and internet access, run:
npm run release:check
On Heroku, the Procfile runs npm start. The web process can own scheduled maintenance when no separate worker dyno is enabled. The separate npm run worker, npm run db:indexes, and npm run repair:rolling commands remain maintenance tools for environments where you intentionally run them.
Heroku note: scheduled maintenance only runs while the web process is running. If you later use Eco dyno sleep or scale the web dyno to zero, background work pauses with the process and catches up after restart where supported by the application.
After deployment, verify the live search surface with:
npm run seo:live-audit
The live audit reports /ready discovery state, per-request latency, Googlebot/Inspection Tool status, and whether the homepage is serving a degraded fallback.
Operational and security documentation lives in docs/ and SECURITY.md. Local secrets belong in .env and must never be committed.