Infrastructure Requirements
This document outlines the infrastructure requirements for deploying and running the Zynomi platform.
Architecture Philosophy
Zynomi is built on a simple, modern technology stack. While there are multiple components, each serves a specific purpose in delivering a comprehensive clinical trial platform.
| Principle | Description |
|---|---|
| Loosely Coupled | Components are independent and can be updated separately |
| Plugin-Based | Features can be added without modifying core code |
| Horizontal Scaling | New capabilities added alongside existing ones |
| Microfrontend Ready | AI Chatbot installs as standalone widget |
Our strong architecture foundation enables rapid feature development and easy scaling. The platform is designed for extensibility without compromising stability.
Deployment Options
Zynomi supports two deployment models based on data residency and compliance requirements.
| Option | Description | Best For |
|---|---|---|
| Serverless (Recommended) | Fully managed cloud services | Most deployments, rapid scaling |
| On-Premises | Self-hosted infrastructure | Strict data residency requirements |
We highly recommend serverless deployment for simplified operations, automatic scaling, and reduced maintenance overhead. On-premises is available for organizations where data must not leave their infrastructure.
Cloud Infrastructure
Core Services
| Service | Provider | Purpose | Notes |
|---|---|---|---|
| Web App and Mobile Website | Vercel | Next.js hosting, edge functions, REST APIs | Serverless, auto-scaling |
| Healthcare Backend | Frappe Cloud | EHR, patient data, API backend | Managed by ERPNext, subscription-based |
| Database | Supabase | PostgreSQL, authentication, real-time | Included with Vercel integration |
| Cache Store | Upstash / Redis | Cube.dev cache, session management | Included with Vercel; in-memory for small deployments |
| Push Notifications | Firebase (Google Cloud) | Mobile push notifications | Free tier available |
| Source Control | GitHub | Code repository, CI/CD | Free tier available |
Analytics Infrastructure
| Service | Provider | Purpose | Notes |
|---|---|---|---|
| Data Ingestion | dlthub (Python) | OLTP to lakehouse pipeline | Python-based ETL |
| Data Transformation | dbt | Medallion architecture, data marts | OSS Core edition; Cloud available for scaling |
| Semantic Layer | Cube.dev | Governed metrics, REST/SQL APIs | OSS edition on Fly.io; Cloud available for enterprise |
| Data Lake | PostgreSQL (Supabase) | Default for small deployments | Can swap to Snowflake, Iceberg, Databricks |
| Container Hosting | Fly.io | Serverless containers for dbt and Cube | Pay-as-you-go |
AI and Integration Services
| Service | Provider | Purpose | Notes |
|---|---|---|---|
| API Gateway | KrakenD | Unified API endpoint, rate limiting | Self-hosted or Fly.io |
| MCP Server | Custom Built | Semantic Layer as MCP tools | Adheres to Cube.dev API/SDK standards |
| AI Agent / Chatbot | Custom Built | Agentic analytics interface | Not Cube.dev Cloud (enterprise-only) |
| LLM Provider | OpenAI (Default) | GPT-4.0 Mini for tool selection | Any commercial or OSS LLM supported |
An LLM API subscription is required for the AI chatbot. Default is GPT-4.x Mini. Better models improve tool selection accuracy. No hallucination risk as responses are grounded via MCP tool-calling.
Mobile Application
| Platform | Technology | Description |
|---|---|---|
| iOS | Native Shell | WebView wrapper loading Ionic mobile website |
| Android | Native Shell | WebView wrapper loading Ionic mobile website |
| Mobile Website | Ionic + Vue.js | Progressive web app hosted on Vercel |
Security and Compliance
All services are configured with enterprise-grade security controls.
| Capability | Description |
|---|---|
| Audit Trail | Complete activity logging across all services |
| Data at Rest | Encrypted storage for all databases and files |
| Data in Transit | TLS 1.3 for all communications |
| HIPAA | Healthcare data protection compliance |
| GDPR | Data privacy and protection compliance |
| SOC 2 | Service organization controls |
Development Environment
Hardware Requirements
| Specification | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB |
| CPU | 4 cores | 8 cores |
| Storage | 50 GB SSD | 100 GB SSD |
Technology Stack
The platform is built with modern, widely-adopted technologies.
| Category | Technologies | Notes |
|---|---|---|
| Primary Languages | TypeScript, JavaScript | 70% of codebase |
| Backend Languages | Python, SQL | dbt, data ingestion, analytics |
| Scripting | Shell/Bash | Automation and deployment |
| Frontend Framework | React, Next.js 14 | Web application |
| Mobile Framework | React Native | Mobile application |
| Styling | Tailwind CSS, shadcn/ui | Component library |
| Containerization | Docker | Development and deployment |
Software Requirements
| Software | Version | Required | Notes |
|---|---|---|---|
| Node.js | 20.x LTS | Yes | JavaScript runtime |
| Bun | Latest | Yes | Package manager (preferred over npm) |
| Python | 3.11+ | Yes | dbt, data ingestion |
| Git | 2.x | Yes | Version control |
| Docker | 20.x+ | Yes | Container runtime |
| VS Code | Latest | Recommended | IDE with extensions |
Supported Operating Systems
| OS | Version |
|---|---|
| macOS | 12 (Monterey) or later |
| Ubuntu | 20.04 LTS or later |
| Windows | 10/11 with WSL2 |
Network Requirements
Ports
| Port | Service | Direction |
|---|---|---|
| 3000 | Next.js dev server | Inbound |
| 4000 | Cube.dev playground | Inbound |
| 5432 | PostgreSQL | Outbound |
| 443 | HTTPS APIs | Outbound |
Firewall Allowlist
| Domain Pattern | Service |
|---|---|
| *.vercel.app | Web hosting |
| *.supabase.co | Database |
| *.frappe.cloud | Backend |
| *.fly.dev | Container hosting |
| *.googleapis.com | Firebase |
| github.com | Source control |
| api.openai.com | LLM (default) |
Scaling Options
| Component | Default | Scaled Option |
|---|---|---|
| dbt | OSS Core on Fly.io | dbt Cloud |
| Cube.dev | OSS on Fly.io | Cube Cloud |
| Cache | Upstash / In-memory | Dedicated Redis |
| Database | Supabase (PostgreSQL) | Dedicated PostgreSQL |
| Data Lake | PostgreSQL | Snowflake, Iceberg, Databricks |
Microfrontend Architecture
The AI Chatbot is built as a microfrontend widget that can be installed independently.
| Feature | Description |
|---|---|
| Standalone Widget | Deploys separately from host application |
| No Code Changes | Integrates without modifying main codebase |
| Independent Updates | Can be versioned and updated separately |
| Embeddable | Works in any web application |
Roadmap
| Feature | Status |
|---|---|
| Internationalization (i18n) | Planned |
| WCAG Accessibility | Planned |