import React, { useState } from 'react'; import { Database, Cloud, Lock, Zap, Mail, MessageSquare, CreditCard, Video, FileText, Calendar, Users, Building2, Shield, Smartphone, Globe, Server, Layers, ArrowRight, Code } from 'lucide-react'; const TechArchitecture = () => { const [activeLayer, setActiveLayer] = useState(null); const layers = { frontend: { title: "Frontend Layer", color: "bg-blue-500", items: [ { icon: Globe, name: "React 18+", desc: "Component-based UI" }, { icon: Smartphone, name: "React Native", desc: "Mobile apps (iOS/Android)" }, { icon: Layers, name: "Tailwind CSS", desc: "Utility-first styling" }, { icon: Code, name: "State Management", desc: "Zustand / Redux Toolkit" } ] }, backend: { title: "Backend Services (Supabase)", color: "bg-green-500", items: [ { icon: Database, name: "PostgreSQL", desc: "Primary database with RLS" }, { icon: Lock, name: "Auth", desc: "JWT, 2FA, RBAC" }, { icon: Cloud, name: "Storage", desc: "Documents & files" }, { icon: Zap, name: "Edge Functions", desc: "Serverless compute" } ] }, integrations: { title: "Third-Party Integrations", color: "bg-purple-500", items: [ { icon: MessageSquare, name: "WhatsApp API", desc: "Twilio / 360dialog" }, { icon: Mail, name: "Email Service", desc: "SendGrid / Resend" }, { icon: CreditCard, name: "Payments", desc: "Stripe / PayPal" }, { icon: Video, name: "Telehealth", desc: "Twilio / Agora" } ] }, security: { title: "Security & Compliance", color: "bg-red-500", items: [ { icon: Shield, name: "HIPAA Compliance", desc: "Encryption, audit logs" }, { icon: Lock, name: "RLS Policies", desc: "Row-level security" }, { icon: FileText, name: "Audit Trails", desc: "Activity logging" }, { icon: Server, name: "SSL/TLS", desc: "Data in transit" } ] } }; const modules = [ { name: "Patient CRM", icon: Users, color: "bg-cyan-500" }, { name: "Scheduling", icon: Calendar, color: "bg-indigo-500" }, { name: "EHR/Notes", icon: FileText, color: "bg-emerald-500" }, { name: "Billing", icon: CreditCard, color: "bg-amber-500" }, { name: "Portal", icon: Globe, color: "bg-pink-500" }, { name: "Multi-Clinic", icon: Building2, color: "bg-violet-500" } ]; return (
{/* Header */}

Clinic Management System

Technical Architecture Overview

React + Tailwind + Supabase
{/* Architecture Layers */}
{Object.entries(layers).map(([key, layer]) => (
setActiveLayer(key)} onMouseLeave={() => setActiveLayer(null)} >

{layer.title}

{layer.items.map((item, idx) => (

{item.name}

{item.desc}

))}
))}
{/* Core Modules */}

Core Application Modules

{modules.map((module, idx) => (
{module.name}
))}
{/* Data Flow */}

Data Flow Architecture

Client Apps

Web + Mobile

Supabase API

REST + Realtime

PostgreSQL

Multi-tenant DB

{/* Additional Services */}

External Services Layer

{[ { name: "WhatsApp", icon: MessageSquare }, { name: "Email", icon: Mail }, { name: "Payments", icon: CreditCard }, { name: "Video Call", icon: Video }, { name: "File Storage", icon: Cloud } ].map((service, idx) => (
{service.name}
))}
{/* Key Features */}

HIPAA Compliant

End-to-end encryption, audit trails, and secure data handling

Multi-Tenant

Row-level security for complete data isolation between clinics

Real-time Updates

Live calendar updates and instant notifications via WebSockets

); }; export default TechArchitecture;