UnifiedBeez Backend Architecture

Live Dashboard - Main Dashboard & Settings

← Back to Index

📊 FRAME 1: Main Dashboard & Settings Overview

🎯 Purpose

The Main Dashboard & Settings module provides the central command center for UnifiedBeez users. It includes the main dashboard with insights and KPIs, comprehensive settings management, Brand Kit customization, Beezora AI personality configuration, subscription and billing management, team collaboration features, and notification preferences.

✨ Core Features

📊 Dashboard Insights

  • Real-time KPI widgets
  • Customizable dashboard
  • Activity feed
  • Quick actions
  • Recent conversations
  • Performance charts

⚙️ Settings Hub

  • Account settings
  • Channel connections
  • Security preferences
  • Notification settings
  • Team management
  • API access

🎨 Brand Kit

  • Logo & brand colors
  • Email templates
  • WhatsApp templates
  • Signature customization
  • White-label options

🤖 Beezora AI Config

  • Personality settings
  • Knowledge base
  • Auto-response rules
  • Training data
  • Response tone

💳 Billing & Plans

  • Subscription management
  • Usage tracking
  • Invoice history
  • Add-ons purchase
  • Plan upgrades

👥 Team Collaboration

  • Team member management
  • Role-based access
  • Permission controls
  • Activity tracking
  • Team notifications

📊 Dashboard KPIs

KPI Category Metrics Tracked Data Source
Conversations Total, Active, Unread, Response time Inbox module
Contacts Total contacts, New this week, Active lists CRM module
Automations Active automations, Executions today, Success rate Automations module
Team Performance Messages sent, Avg response time, Tasks completed Multiple modules
Channel Activity Messages by channel, Active channels, Health status Channel integrations

📈 FRAME 2: Dashboard Insights & KPIs

🏗️ Dashboard Service Architecture

Dashboard Service Architecture

📊 DashboardService
  • getInsights()
  • getKPIs()
  • getActivityFeed()
📈 Data Aggregation Layer
InboxMetrics
CRMMetrics
AutomationMetrics
TeamMetrics
🗄️
PostgreSQL

(Source)

Redis

(Cache)

🚀
ElastiCache

(Real-time)

📊 Widget Types

Metric Widgets

  • Single Value: Total contacts, Active conversations
  • Comparison: This week vs last week
  • Percentage: Automation success rate
  • Trend: Growth indicators (↑/↓)

Chart Widgets

  • Line Chart: Messages over time
  • Bar Chart: Messages by channel
  • Pie Chart: Contact distribution
  • Heatmap: Activity by hour/day

📡 API Endpoints (Dashboard)

Method Endpoint Description
GET /api/dashboard/insights Get all dashboard insights & KPIs
GET /api/dashboard/kpis/:metric Get specific KPI with historical data
GET /api/dashboard/activity-feed Recent activity across all modules
POST /api/dashboard/widgets Customize dashboard layout
GET /api/dashboard/quick-actions Available quick actions for user

⚙️ FRAME 3: Settings Architecture

🏗️ Settings Hierarchy

⚙️ Settings Structure - Hierarchical Organization

🏢 ORGANIZATION SETTINGS
📊 Account Settings
• Organization Profile
• Billing Information
• Subscription Plan
📱 Channels
• WhatsApp Business API
• Email (SMTP/IMAP)
• Instagram
• Facebook Messenger
• Telegram, SMS
🔒 Security
• Two-Factor Authentication
• API Keys
• Webhook Security
• Session Management
🔔 Notifications
• Email Notifications
• In-App Notifications
• Slack Integration
• Notification Rules
👥 Team Management
• Team Members
• Roles & Permissions
• Teams/Groups
• Access Control
⚙️ Preferences
• Timezone & Language
• Date/Time Format
• UI Customization
👤 USER SETTINGS
• Profile
• Notification Preferences
• Privacy Settings
• Display Preferences

📡 API Endpoints (Settings)

Method Endpoint Description
GET /api/settings/organization Get organization settings
PUT /api/settings/organization Update organization settings
GET /api/settings/channels Get all channel connections
POST /api/settings/channels/:channel Connect new channel
DELETE /api/settings/channels/:id Disconnect channel
GET /api/settings/security Get security settings
POST /api/settings/security/2fa Enable 2FA
GET /api/settings/api-keys Get API keys
POST /api/settings/api-keys Create new API key
GET /api/settings/team Get team members
POST /api/settings/team/invite Invite team member
PUT /api/settings/team/:userId/role Update member role
GET /api/settings/notifications Get notification preferences
PUT /api/settings/notifications Update notification preferences

🎨 FRAME 4: Brand Kit System

🏗️ Brand Kit Components

Visual Identity

  • Logo: Primary, secondary, favicon
  • Colors: Primary, secondary, accent (6 colors)
  • Fonts: Headings, body text
  • Images: Brand imagery library

Template Branding

  • Email Templates: Header, footer, styling
  • WhatsApp Templates: Signature, branding
  • Signatures: Team member signatures
  • Social Media: Auto-branded responses

💾 Database Schema

brand_kits

CREATE TABLE brand_kits ( id BIGSERIAL PRIMARY KEY, organization_id BIGINT NOT NULL REFERENCES organizations(id), name VARCHAR(255) DEFAULT 'Primary Brand Kit', -- Logo files (S3 URLs) logo_primary_url VARCHAR(500), logo_secondary_url VARCHAR(500), favicon_url VARCHAR(500), -- Colors (hex codes) color_primary VARCHAR(7), color_secondary VARCHAR(7), color_accent VARCHAR(7), color_text VARCHAR(7), color_background VARCHAR(7), color_error VARCHAR(7), -- Typography font_heading VARCHAR(100), -- 'Roboto', 'Open Sans', etc. font_body VARCHAR(100), -- Email template customization email_header_html TEXT, email_footer_html TEXT, email_signature TEXT, -- Social branding social_signature TEXT, -- Metadata is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP DEFAULT NOW(), INDEX idx_brand_kits_org (organization_id) );

📡 API Endpoints (Brand Kit)

Method Endpoint Description
GET /api/brand-kit Get active brand kit
PUT /api/brand-kit Update brand kit
POST /api/brand-kit/logo Upload logo
POST /api/brand-kit/preview-email Preview email with branding

🤖 FRAME 5: Beezora AI Configuration

🎯 Beezora Personality Settings

Personality Traits

  • Tone: Professional, Friendly, Casual, Formal
  • Verbosity: Concise, Balanced, Detailed
  • Formality: Formal, Semi-formal, Casual
  • Emoji Usage: None, Minimal, Moderate, Frequent
  • Response Style: Direct, Conversational, Instructive

Knowledge Base

  • Company Info: About, products, services
  • FAQs: Common questions & answers
  • Policies: Returns, shipping, privacy
  • Custom Data: Industry-specific knowledge
  • Training Documents: PDF, text uploads

💾 Database Schema

beezora_config

CREATE TABLE beezora_config ( id BIGSERIAL PRIMARY KEY, organization_id BIGINT NOT NULL UNIQUE REFERENCES organizations(id), -- Personality settings tone VARCHAR(50) DEFAULT 'friendly', verbosity VARCHAR(50) DEFAULT 'balanced', formality VARCHAR(50) DEFAULT 'semi-formal', emoji_usage VARCHAR(50) DEFAULT 'minimal', -- Behavior auto_response_enabled BOOLEAN DEFAULT FALSE, auto_response_delay_seconds INT DEFAULT 5, -- Knowledge base company_description TEXT, faq_data JSONB DEFAULT '[]', -- [{ question, answer, category }] custom_instructions TEXT, -- Additional instructions for Beezora -- Training data training_documents JSONB DEFAULT '[]', -- [{ title, s3_url, uploadedAt }] created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP DEFAULT NOW(), INDEX idx_beezora_config_org (organization_id) );

📡 API Endpoints (Beezora)

Method Endpoint Description
GET /api/beezora/config Get Beezora configuration
PUT /api/beezora/config Update configuration
POST /api/beezora/knowledge-base Add FAQ or knowledge item
POST /api/beezora/train Upload training document
POST /api/beezora/test Test Beezora response

💳 FRAME 6: Billing & Subscription Management

📊 Subscription Tiers

Plan Price Features Limits
Business $79/mo Core features, 2 channels, basic automations 1,000 contacts, 5K messages/mo
Organisation $149/mo All channels, advanced automations, team features 10,000 contacts, 50K messages/mo
Premium $299/mo Everything + white-label, priority support Unlimited contacts, 200K messages/mo

🛒 Add-ons Available

Additional Channels

  • WhatsApp: $29/mo
  • Instagram: $19/mo
  • Messenger: $19/mo

Advanced Features

  • AI Credits: $49/mo
  • Premium Support: $99/mo
  • Custom Integrations: $199/mo

Capacity Upgrades

  • +10K contacts: $29/mo
  • +50K messages: $49/mo
  • +5 team members: $39/mo

💾 Database Schema

subscriptions

CREATE TABLE subscriptions ( id BIGSERIAL PRIMARY KEY, organization_id BIGINT NOT NULL UNIQUE REFERENCES organizations(id), -- Plan details plan VARCHAR(50) NOT NULL, -- 'business', 'organisation', 'premium' status VARCHAR(50) DEFAULT 'active', -- 'active', 'cancelled', 'past_due', 'trial' -- Billing stripe_subscription_id VARCHAR(255), stripe_customer_id VARCHAR(255), -- Dates trial_ends_at TIMESTAMP, current_period_start TIMESTAMP, current_period_end TIMESTAMP, cancelled_at TIMESTAMP, -- Pricing amount_cents INT NOT NULL, currency VARCHAR(3) DEFAULT 'USD', created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP DEFAULT NOW(), INDEX idx_subscriptions_org (organization_id), INDEX idx_subscriptions_stripe (stripe_subscription_id) );

add_ons

CREATE TABLE add_ons ( id BIGSERIAL PRIMARY KEY, subscription_id BIGINT NOT NULL REFERENCES subscriptions(id), add_on_type VARCHAR(100) NOT NULL, -- 'channel_whatsapp', 'ai_credits', 'extra_contacts', etc. quantity INT DEFAULT 1, amount_cents INT NOT NULL, status VARCHAR(50) DEFAULT 'active', created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP DEFAULT NOW(), INDEX idx_add_ons_subscription (subscription_id) );

📡 API Endpoints (Billing)

Method Endpoint Description
GET /api/billing/subscription Get current subscription
POST /api/billing/subscribe Create new subscription
PUT /api/billing/subscription/upgrade Upgrade plan
POST /api/billing/subscription/cancel Cancel subscription
GET /api/billing/invoices Get invoice history
POST /api/billing/add-ons Purchase add-on
GET /api/billing/usage Get usage metrics
POST /api/billing/payment-method Update payment method

⚙️ AWS Infrastructure

Billing Infrastructure Components

  • Stripe Integration: Payment processing, subscription management
  • Stripe Webhooks: Handle payment events (ECS endpoint)
  • RDS PostgreSQL: Store subscription data
  • Lambda Functions: Usage tracking, invoice generation
  • CloudWatch Events: Schedule daily usage calculations
  • SNS: Payment failure notifications