DelivEasy

Dashboard

Your SaaS at a glance — all customer workspaces

Total Workspaces
—
all time signups
Active
—
subscriptions running
Expiring Soon
—
in next 7 days
Pro Subscriptions
—
Starter vs Pro
Expired
—
need renewal
Unpaid
—
never activated
Monthly Revenue
—
active Starter & Pro

📈 Subscription Health

Active rate —%

💰 Revenue Summary

🕐 Recently Registered

Workspaces

All customer workspaces

Workspaces

All
Active
Expired
Unpaid
🔍
Loading workspaces…

All Users

Every user across all workspaces

Users

🔍

Expiring Soon

Workspaces expiring within the next 7 days

New Workspace

Create a workspace manually — bypasses payment requirement

Workspace Info
Admin Account
Subscription

Backups

Daily auto-backups of all workspace databases. Retained for 7 days.

Automatic Schedule
Runs daily on server startup offset. Keeps last 7 days. All tenant DBs + master.db backed up.
Storage location
/var/www/deliveasy/backups/

Restore a workspace

Rewind one client's data. Every other workspace is left untouched.

Choose a workspace

Settings & API Keys

Configure dynamic application variables, payment credentials, storage bucket parameters, and SMTP servers

📧 SMTP Email Configuration
💳 Razorpay Payments Integration
☁️ Cloud Storage (Cloudflare R2)
💬 WhatsApp Onboarding (Meta App)
The one Meta app that lets every workspace connect its own WhatsApp number in a single tap. Each shop still owns its WhatsApp Business Account and is billed by Meta directly — nothing here puts you in the payment path. In the Meta App Dashboard the App ID and Secret are under Settings → Basic, and the Configuration ID under Facebook Login for Business → Configurations. Leave all three blank and workspaces fall back to pasting their own credentials by hand.
Stored encrypted and never sent to a browser. The App ID and Configuration ID are public and do reach the browser, which is normal: Meta’s own popup needs them.
🟢 Google Drive Database Auto-Backup
A personal access token with repo scope, so the source can be pushed from here. Make one at GitHub → Settings → Developer settings → Personal access tokens. Stored encrypted.
Not checked yet.
Use this instead of linking an account, and backups stop breaking. A Client ID and Secret rely on a refresh token that Google expires after seven days while the consent screen is in Testing, which is why this keeps disconnecting. A service account has no refresh token and no consent screen, so there is nothing to expire.

Setting it up: Google Cloud Console → IAM & Admin → Service Accounts → Create. Add a key of type JSON and download it. Enable the Drive API for the project. Then, in Google Drive, make the folder you want backups in, share it with the service account’s ...iam.gserviceaccount.com address as Editor, and pick it below.

A service account owns no storage of its own, so the files live in your folder and count against your quota. Putting that folder in a Shared Drive works too, and is tidier. Stored encrypted; shown as dots once saved.
Not Linked
Save your Client ID and Client Secret above, then click Link Account.
💰 Subscription Plans Pricing (₹)
🔐 JWT Authentication Security
🛡️ Two-Factor Authentication (2FA)

Secure your Super Admin account by requiring a 6-digit verification code from your TOTP authenticator app (like Google Authenticator or Microsoft Authenticator) when logging in.

Status: Loading...
Checking configuration status.
-

System Logs

Monitor real-time server console output, PM2 logs, API routes execution logs, and database sync activities

terminal@deliveasy:~# tail -n 150 Last updated: --:--:--
Loading server logs...