Cloudflare Workers + D1 based BPM portal starter.
- Worker URL: https://bpm-portal.weiz30.workers.dev
- Cloudflare account:
2259832f71636dfcfad4aa9a1d61979d - D1 database:
bpm-portal-db
- Login screen
- Portal dashboard showing logged-in user identity
- Announcements
- My messages
- System administrator role
- Employee role
- Custom role table
- Announcement owner role
- User account creation by system administrator
- Reserved entry points for message board, chat room, forum, knowledge base, and BPM workflow engine
The Worker seeds demo data on first request.
- Admin:
admin/admin123 - Employee:
employee/employee123
Change these immediately after deployment if this becomes internet-facing.
Install dependencies:
npm installCreate a D1 database:
npm run db:createCopy the returned database_id into wrangler.toml.
Run schema on remote D1:
npm run db:migrate:remoteDeploy Worker:
npm run deployflowchart LR
Browser["Browser"] --> Worker["Cloudflare Worker"]
Worker --> D1["Cloudflare D1"]
Worker --> UI["Server-rendered SPA shell"]
Recommended next entities:
forms: form definitions and versionsworkflow_templates: process definitionworkflow_nodes: approval stepsworkflow_instances: submitted requestsworkflow_tasks: pending approvalsworkflow_actions: approve, reject, return, delegateattachments: files linked to requestsaudit_logs: immutable action history
This MVP uses SHA-256 salted hashes for simplicity. For production, use a stronger password strategy, SSO, password reset, MFA, audit logging, and stricter session management.