Skip to content

Repository files navigation

Cron / Ping Service

Cron Ping Service heartbeat dashboard preview

Keep the heartbeat visible.
A focused dashboard for recurring HTTP requests, schedule visibility, execution history, and failure alerts.

Open the live dashboard ↗   ·   View the source ↗

Vanilla JavaScript and CSS Express.js backend MySQL and Drizzle ORM Manus OAuth authentication

What it does

Cron / Ping Service turns recurring HTTP checks into a readable operational signal. Add a URL, choose a minute, hourly, daily, or custom UTC cron schedule, and inspect the next run, last run, response status, latency, and execution history from one editorial-style dashboard.

The service is designed for endpoints you own or are authorized to monitor. It uses bounded retries for safe request methods, persists jobs and execution records, reconciles schedule metadata with the platform heartbeat service, and sends deduplicated failure alerts through Resend.

Live URL: pingdash-75gginwg.manus.space

Core capabilities

Capability Description
Recurring schedules Minute, hourly, daily, and raw UTC cron expression controls.
Immediate feedback New jobs appear immediately with a deterministic next-run calculation while remote scheduling reconciles in the background.
Durable persistence Users, jobs, schedules, executions, and failure-alert state are stored in MySQL through Drizzle ORM.
Operational visibility Read status, response code, latency, last run, next run, and execution history.
Safe lifecycle controls Run now, inspect history, and delete both the local job and its remote heartbeat task.
Authentication Manus OAuth with owner-scoped job and execution access.
Notifications Login notifications and deduplicated failed-ping alerts sent through Resend.
Responsive UI Vanilla HTML/CSS/JS interface with an editorial telemetry aesthetic across desktop and mobile.

Architecture

Browser
  └─ Vanilla HTML / CSS / JS
       └─ Express REST routes + tRPC foundation
            ├─ Manus OAuth session
            ├─ Drizzle ORM → MySQL
            ├─ Heartbeat scheduling and reconciliation
            ├─ HTTP ping executor with bounded retry policy
            └─ Resend login and failure notifications

Local development

The project uses Node.js, pnpm, Vite, Express, and a MySQL-compatible database.

git clone https://github.com/Quincunx33/cron-ping-dashboard.git
cd cron-ping-dashboard
pnpm install
cp .env.example .env
pnpm dev

The development server runs on the port provided by the environment. Use pnpm test for the Vitest suite, pnpm check for TypeScript validation, and pnpm build for the production build.

Configuration and secret safety

This repository intentionally contains configuration names, not credentials. The real values must be supplied through the deployment environment or a local .env file that is excluded by .gitignore.

DATABASE_URL=
JWT_SECRET=
VITE_APP_ID=
OAUTH_SERVER_URL=
VITE_OAUTH_PORTAL_URL=
OWNER_OPEN_ID=
OWNER_NAME=
BUILT_IN_FORGE_API_URL=
BUILT_IN_FORGE_API_KEY=
RESEND_API_KEY=
RESEND_ADMIN_EMAIL=
RESEND_FROM_EMAIL=
RESEND_FROM_NAME=

Do not commit .env files, database URLs, OAuth client secrets, JWT values, API keys, private keys, or production logs. Before publishing, scan both the working tree and Git history because removing a secret from the latest file does not remove it from old commits.

SEO and public landing page

The public shell includes crawler-visible semantic content before JavaScript executes, a canonical live URL, Open Graph and Twitter metadata, SoftwareApplication structured data, robots.txt, and sitemap.xml. Authenticated job data remains behind the application session and is not presented as public indexable content.

Testing

The project includes regression coverage for scheduling previews, immediate next-run feedback, owner-scoped job lifecycle operations, Heartbeat fallback behavior, OAuth/logout contracts, notification recipients, failure-alert deduplication, profile avatar rendering, and the public SEO contract.

pnpm test
pnpm check
pnpm build

Responsible use

Only monitor services you own or have explicit permission to monitor. Avoid putting credentials or private tokens in URLs. Keep alert recipients and environment values configured in the deployment secret manager rather than in source control.

License

No license has been selected yet. Add a license file before accepting external contributions or redistributing the project.

About

A visual cron and HTTP ping dashboard for recurring schedules, next-run visibility, execution history, and deduplicated failure alerts.

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages