dps-server
Parse Server + Express. All DPS business logic lives here.
- Repo: duabalabs/dps-server
- Production:
dps-server-appcontainer ongcp-platform, port 1337. - API: api.platform.duabalabs.com/parse
- Parse dashboard: api.platform.duabalabs.com/dashboard
Layout
| Path | Purpose | Status |
|---|---|---|
src/parse-server/ | Parse Server core | ✅ |
src/parse-server/cloud/dashboard/organizations.ts | Org management | ✅ |
src/parse-server/cloud/dashboard/projects.ts | Project management | ✅ |
src/parse-server/cloud/dashboard/apps.ts | App management | ✅ |
src/parse-server/cloud/dashboard/deployments.ts | Deploy operations | ✅ |
src/parse-server/cloud/dashboard/templates.ts | Template CRUD | ✅ |
src/parse-server/cloud/dashboard/images.ts | Docker image CRUD | ✅ |
src/parse-server/cloud/dashboard/activity.ts | Audit logging | ✅ |
src/parse-server/cloud/dashboard/oauth.ts | OAuth providers | ✅ |
src/parse-server/cloud/dashboard/metrics.ts | Usage metrics | ✅ |
src/parse-server/cloud/dps-payments/ | Paystack payments + splits | ✅ |
src/parse-server/cloud/dps-checkout/ | Generic checkout (direct + vendure) | ✅ |
src/parse-server/adapters/ | Storage / cache adapters | ✅ |
src/parse-server/middleware/ | Express middleware | ✅ |
src/dps-e/ | E-commerce ops (Billing/Payments/Logistics/Social) | ⚠️ 60% |
src/dps-e/services/ | Business logic services | ⚠️ 70% |
src/core/ | Shared infrastructure (Context, Events, Providers, Repository) | ✅ |
src/core/parse-manager/ | docker-orchestrator.ts, ssh-deployer.ts, metrics-collector.ts, encryption.ts | ✅ |
Local development
cd apps/dps/dps-server
pnpm install
cp sample.env .env
pnpm dev # http://localhost:1337Requires Node 20+ and a local MongoDB.
Cloud-function modules
The dashboard does not implement any business logic — it calls Parse Cloud Functions. The full reference is in API Reference, but the high-level grouping is:
- Organizations —
createOrganization,inviteMember, … - Projects —
createProject,listProjects, … - Apps —
createApp,listApps, … - Deployments —
triggerDeployment,getDeploymentLogs,rollbackDeployment, … - Templates (super admin) —
createTemplate,updateTemplatePricing,addTemplateDockerVersion, … - Docker Images (super admin) —
searchDockerImages,triggerDockerBuild,getBuildJobStatus, … - Activity / OAuth / Metrics — audit, GitHub OAuth, usage metrics.
- DPS-E Payments —
dps_checkout_create,dps_checkout_verify,dps_subscriptions_check.
Parse Server Manager
src/core/parse-manager/ is the orchestration brain that lets DPS act as a Parse-as-a-Service platform:
docker-orchestrator.ts— provisions Docker containers, manages networks, mounts volumes, manages image versions.ssh-deployer.ts— SSH connection manager, SCP file transfer, remote health checks for client-VPS deploys.metrics-collector.ts— resource tracking, request metrics, DB metrics.encryption.ts— AES-256-GCM encryption for credentials at rest (appId,masterKey,databaseURI, SSH private keys).- Health-check loop — 60-second interval, tracks
healthy | degraded | unhealthyper instance.
See Multi-Tenancy & Isolation for the isolation model and PARSE_SERVER_MANAGER_PLAN.md for the full implementation plan.
DPS-E module
src/dps-e/ is the shared E-commerce operations layer that Sellub and Type-3 / Type-4 integrators consume:
| Service | Status | Purpose |
|---|---|---|
| Billing | ⚠️ 70% | Wallets, subscriptions, plans, debit/credit |
| Payments | ⚠️ 70% | Paystack init, splits, refunds |
| Logistics | ⚠️ 60% | Freight, tracking, carriers |
| Social | ⚠️ 50% | Postiz integration, AI generation, scheduling |
Source-of-truth doc: apps/dps/dps-server/src/dps-e/README.md.