Skip to content

Platform Overview

The DotEvolve platform is a multi-product SaaS suite built on a shared identity and tenancy layer — the Central Portal.

Full System Architecture

graph TB
    subgraph End_Users
        EU[End-User\nportal.dotevolve.net]
    end

    subgraph Admins
        SA[Super Admin\nadmin.dotevolve.net]
        TA[Tenant Admin\nadmin.dotevolve.net]
    end

    subgraph Central_Portal
        AP[Admin Portal\nReact 19 / Vercel]
        EP[End-User Portal\nReact 19 / Vercel]
        PA[Portal API\nNode.js / Heroku]
        SB[Supabase Auth\nJWT IdP]
        CR[(Central Registry\nSupabase PostgreSQL)]
    end

    subgraph Foot_Factory
        FFC[foot-factory.dotevolve.net\nClient App]
        FFA[foot-factory-admin.dotevolve.net\nAdmin Dashboard]
        FFAPI[foot-factory-api.dotevolve.net\nNode.js / MongoDB]
    end

    subgraph dot_cOS
        COSFE[cos.dotevolve.net\nFrontend]
        COSAD[cos-admin.dotevolve.net\nAdmin Dashboard]
        COSGW[cos-api.dotevolve.net\nAPI Gateway]
        COSWS[cos-workflow.dotevolve.net\nWorkflow Service]
    end

    subgraph Infrastructure
        VER[Vercel API]
        CF[Cloudflare DNS]
        RZP[Razorpay\nBilling]
    end

    SA --> AP
    TA --> AP
    EU --> EP
    AP --> PA
    EP --> PA
    PA --> SB
    PA --> CR
    PA --> VER
    PA --> CF
    PA --> RZP

    SB -->|JWT| FFC
    SB -->|JWT| FFA
    SB -->|JWT| COSFE
    SB -->|JWT| COSAD

    FFC --> FFAPI
    FFA --> FFAPI
    FFAPI -->|plan limits| PA

    COSFE --> COSGW
    COSAD --> COSGW
    COSGW --> COSWS

Products

Product URL Description
Admin Portal admin.dotevolve.net Tenant and user management for Super_Admin and Tenant_Admin
End-User Portal portal.dotevolve.net App launcher for end users
Foot Factory foot-factory.dotevolve.net Factory operations management
dot-cOS cos.dotevolve.net Corporate compliance automation

Roles

Role Scope Description
super-admin Platform-wide Full access across all tenants and apps
tenant-admin Per-tenant Manages users and app assignments within their tenant(s)
user Per-app per-tenant Standard end-user access to specific apps

Request Flow — Admin Operation

sequenceDiagram
    participant A as Admin Portal
    participant PA as Portal API
    participant SB as Supabase Auth
    participant CR as Central Registry

    A->>PA: POST /api/v1/tenants (Bearer JWT)
    PA->>SB: Validate JWT (public key)
    SB-->>PA: { app_metadata: { activeRole: "super-admin" } }
    PA->>PA: Role check: super-admin ✓
    PA->>CR: INSERT INTO tenants (...)
    CR-->>PA: Tenant created
    PA->>PA: Trigger subdomain provisioning
    PA-->>A: 201 Created

Request Flow — App Request

sequenceDiagram
    participant App as App Frontend
    participant API as App Backend
    participant SB as Supabase Auth
    participant DB as App Database

    App->>API: GET /api/v1/data (Bearer JWT)
    API->>SB: supabase.auth.getUser(token)
    SB-->>API: { app_metadata: { activeTenantId } }
    API->>API: Scope all queries to activeTenantId
    API->>DB: Query WHERE tenantId = activeTenantId
    DB-->>API: Tenant-scoped data
    API-->>App: 200 OK