How ogbakidavid/dayle-backend works
Dayle is a NestJS backend for identity onboarding, escrow-like vaults, local-currency funding and withdrawal, disputes, administration, and notifications. The principal workflow is: a user authenticates with Privy, completes onboarding/KYC, creates or joins a vault, funds it through payment providers, then releases, refunds, or withdraws funds; disputes and webhooks handle exceptions and asynchronous updates. The graph emphasizes sampled controller ownership and direct integrations. Several service internals were not sampled, so uncertain service-to-service relationships are omitted.
Components 29
Identity Onboarding
- Auth API
src/auth/auth.controller.ts - Auth Service
src/auth/auth.service.ts - Onboarding API
src/onboarding/onboarding.controller.ts - Onboarding Service
src/onboarding/onboarding.service.ts
Vault Commerce
- Vault API
src/vaults/vaults.controller.ts - Vault Service
src/vaults/vaults.service.ts - Invites API
src/invites/invites.controller.ts - Invites Service
src/invites/invites.service.ts
Payments Money
- Rates API
src/rates/rates.controller.ts - Rates Service
src/rates/rates.service.ts - Payment Methods API
src/payment-methods/payment-methods.controller.ts - Payment Methods Service
src/payment-methods/payment-methods.service.ts - Redis Cache
src/common/redis/redis.service.ts
Trust Operations
- Disputes API
src/disputes/disputes.controller.ts - Disputes Service
src/disputes/disputes.service.ts - Dispute Analysis
src/disputes/dispute-ai.service.ts - Admin API
src/admin/admin.controller.ts - Admin Service
src/admin/admin.service.ts - Webhook API
src/webhooks/webhooks.controller.ts - Webhook Service
src/webhooks/webhooks.service.ts - PostgreSQL Database
src/prisma/prisma.service.ts
Communications
- Notifications API
src/notifications/notifications.controller.ts - Notifications Service
src/notifications/notifications.service.ts
Other components
- User
- Administrator
- Privy Identity
- Partna Payments
- Paycrest Payments
- Didit KYC
Connections 31
- User → Auth API: authenticates
- Auth API → Auth Service: calls
- Auth Service → Privy Identity: verifies identity
- Auth Service → PostgreSQL Database: reads/writes users
- Auth Service → Redis Cache: blacklists tokens
- User → Onboarding API: submits onboarding
- Onboarding API → Onboarding Service: calls
- User → Vault API: manages vault
- Vault API → Vault Service: calls
- Vault Service → PostgreSQL Database: reads/writes vaults
- User → Payment Methods API: manages payout methods
- Payment Methods API → Payment Methods Service: calls
- Payment Methods API → Partna Payments: fetches/resolves banks
- Payment Methods API → Paycrest Payments: fetches/resolves banks
- Payment Methods API → Redis Cache: caches banks
- User → Rates API: requests rates
- Rates API → Rates Service: calls
- User → Invites API: manages invites
- Invites API → Invites Service: calls
- User → Disputes API: opens dispute
- Disputes API → Disputes Service: calls
- Disputes API → Dispute Analysis: analyzes dispute
- Administrator → Admin API: operates console
- Admin API → Admin Service: calls
- Administrator → Webhook API: receives events
- Partna Payments → Webhook API: sends events
- Paycrest Payments → Webhook API: sends events
- Didit KYC → Webhook API: sends events
- Webhook API → Webhook Service: handles events
- User → Notifications API: manages notifications
- Notifications API → Notifications Service: calls