Skip to main content

DTX Portal — Frontend Overview

The DTX Portal is the primary web interface for the Daitics AI CDP platform. It is a React 19 single-page application built with TypeScript, Tailwind CSS 4, and Vite 7, organized as a pnpm monorepo.


Tech Stack at a Glance

LayerTechnologyVersion
FrameworkReact19.1.1
LanguageTypeScript5.7.3
Build ToolVite7.1.10
StylingTailwind CSS4.1.13
State (Client)Zustand5.0.8
State (Server)TanStack React Query5.90.5
RoutingReact Router7.9.1
FormsReact Hook Form + Zod7.65 / 3.24
Visual DesignersXYFlow (React Flow)12.8.5
Code EditorMonaco Editor0.54.0
ChartsRecharts3.3.0
IconsUntitled UI Icons0.0.19
UI PrimitivesReact Aria Components1.13.0
AuthKeycloak JS26.1.0
AnimationsMotion (Framer Motion)12.23.24
Package Managerpnpm10.16.1
TestingVitest + Testing Library3.2.4

Monorepo Structure

WorkspacePackage NamePurpose
apps/portalportalMain SPA — pages, routes, services, stores
packages/ui@dtx/uiReusable component library (buttons, tables, modals, charts)
packages/utils@dtx/utilsShared utilities (cx(), formatBytes(), debounce(), throttle())

Application Bootstrap

The app initializes through a provider stack in App.tsx:

// apps/portal/src/App.tsx
<QueryClientProvider client={queryClient}>
<AuthProvider>
<ConfirmProvider>
<RouterProvider router={router} />
</ConfirmProvider>
</AuthProvider>
</QueryClientProvider>

Key Capabilities

ModuleWhat it Does
Pipeline DesignerFull-screen visual DAG builder using XYFlow with drag-and-drop operators, auto-layout, SQL/expression logic editor, and multi-stage configuration
Workflow DesignerVisual approval workflow builder with 11 node types (approval, condition, parallel split/join, timer, script, etc.)
Connector DesignerSource/sink connector configuration with visual canvas
Schema RegistrySchema CRUD with versioning, field management, and PII tagging
Synthetic DataData generator wizard with field mapping, destination config (Kafka, Postgres, Dragonfly, File), and live metrics
Access ManagementUser, role, group, and permission management with Keycloak integration
Kafka ManagementTopic browsing, creation, message inspection, consumer group monitoring
Cache ManagementRedis/Dragonfly key browser with namespace filtering, TTL management
ObservabilityReal-time dashboard with metrics, health checks, alerts, log distribution, and WebSocket streaming

Quick Start

# Prerequisites: Node.js 22+, pnpm 10.16+
pnpm install # Install all workspace dependencies
pnpm dev # Start dev server on http://localhost:3000
pnpm build # TypeScript check + production build
pnpm lint # Run ESLint
pnpm test # Run Vitest