How team-digitalmarketersperth/for-after-digital-vault works
For After is a digital legacy vault: customers create private messages, memories, and wishes for recipients, scheduling release for a future date or after a verified death event. Trusted contacts can report a death, recipients access released messages, and administrators review verification and platform operations. The README documents the frontend-to-API boundary and the platform capabilities; sampled backend code confirms session authorization, storage quotas, media handling, and database access. Most domain-service internals were not sampled, so uncertain runtime links are omitted or marked unverified.
Main entry points: main.ts NestJS API · prisma.service.ts PostgreSQL · app Web application · admin.service.ts Admin operations
Components 26
User experiences
- Web application
for-after-frontend/src/app - NestJS API
for-after-backend/src/main.ts - Customer authentication
for-after-backend/src/auth/auth.service.ts - Recipient portal
for-after-backend/src/recipient-portal/recipient-messages.service.ts - Trusted contact portal
for-after-backend/src/trusted-contact-portal/trusted-contact-portal.service.ts
Vault content
- Messages and schedules
for-after-backend/src/messages/messages.service.ts - Recipients and contacts
for-after-backend/src/recipients/recipients.service.ts - Memory Vault
for-after-backend/src/memory-vault/memory-vault.service.ts - Life story
for-after-backend/src/my-story/my-story.service.ts - Personal wishes
for-after-backend/src/my-wishes/my-wishes.service.ts - Media handling
for-after-backend/src/media/media.service.ts
Verification and release
- Death verification
for-after-backend/src/death-verification/death-verification-workflow.service.ts - Message release jobs
for-after-backend/src/message-release/message-release.processor.ts
Platform services
- Storage quota
for-after-backend/src/media/storage-quota.service.ts - Object storage
for-after-backend/src/media/storage/imagekit-media-storage.service.ts - PostgreSQL
for-after-backend/src/prisma/prisma.service.ts - Redis sessions and queues
for-after-backend/src/redis/redis.service.ts - Email delivery
for-after-backend/src/email/email-provider.factory.ts
Administration
- Admin operations
for-after-backend/src/admin/admin.service.ts - Announcements
for-after-backend/src/announcements/announcements.service.ts - Audit logging
for-after-backend/src/audit/audit-log.service.ts
Other components
- Customer
- Trusted contact
- Recipient
- Administrator
- Media services
Connections 35
- Customer → Web application: uses
README.md - Trusted contact → Web application: uses
README.md - Recipient → Web application: uses
README.md - Administrator → Web application: uses
README.md - Web application → NestJS API: HTTP and cookies
README.md - NestJS API → Customer authentication: routes auth
- Customer authentication → PostgreSQL: reads and writes
- NestJS API → Messages and schedules: routes messages
- NestJS API → Recipients and contacts: routes people
- NestJS API → Memory Vault: routes vault
- Memory Vault → Messages and schedules: creates messages
for-after-backend/src/memory-vault/memory-vault.controller.ts - NestJS API → Life story: routes story
- Life story → Messages and schedules: creates messages
for-after-backend/src/my-story/my-story.controller.ts - NestJS API → Personal wishes: routes wishes
- Personal wishes → Messages and schedules: creates messages
for-after-backend/src/my-wishes/my-wishes.controller.ts - NestJS API → Media handling: routes uploads
- Media handling → Storage quota: checks quota
for-after-backend/src/media/media.service.ts - Media handling → Media services: stores media
README.md - NestJS API → Storage quota: serves usage
- Storage quota → PostgreSQL: queries media rows
for-after-backend/src/media/storage-quota.service.ts - Trusted contact → Trusted contact portal: reports death
README.md - Trusted contact portal → Death verification: submits report
- Death verification → PostgreSQL: records review
- Message release jobs → PostgreSQL: loads releases
- Message release jobs → Email delivery: delivers messages
- Recipient → Recipient portal: opens messages
README.md - Recipient portal → Message release jobs: reads released content
- NestJS API → PostgreSQL: uses Prisma
README.md - NestJS API → Redis sessions and queues: uses sessions
README.md - Administrator → Admin operations: reviews operations
README.md - NestJS API → Admin operations: routes admin
- Admin operations → Announcements: manages broadcasts
- Admin operations → Audit logging: reviews audit logs
- Announcements → PostgreSQL: stores announcements
- Audit logging → PostgreSQL: writes audit records
for-after-backend/src/audit/audit-log.service.ts