
Title For Cross Platform posting
Architecture Document White-Label Multi-Tenant Chat Platform 5 Implementation Phases 2 Database Layers 13 Mongoose Schemas CASL Permissions Redis + Socket.IO 01 — Database Architecture 🏛 PLATFORM_DB · Shared Organization auth · branding · roles · plan SuperAdmin email · role · mfa DomainMapping domain · orgSlug · tls AuditLog action · actor · TTL 1yr slug 🗃 org_{slug}_db · Per Tenant User role · externalId · CASL Channel type · visibility · dm_key · CASL ChannelMembership channelId · userId · unread Message content · reactions · CASL Notification type · userId · TTL 30d Pin channelId · messageId File s3Path · fileType · size Job purge · export · status Setting _id key · Mixed value Isolation Strategy: database-per-tenant — no tenantId fields needed. Each org gets org_{slug}_db . Resolved via req.orgDb (Connection) injected by orgResolver middleware. Models registered via registerOrgModels(conn) / getModels(conn) factory pattern. 02 — Implementation Phases PHASE 01 Remove Legacy Cod
Continue reading on Dev.to
Opens in a new tab



