{ "_meta": { "name": "WellNuo - System Analysis", "updatedAt": "2025-12-12T20:50:16.574Z" }, "elements": [ { "id": "header", "type": "card", "title": "System Analysis", "borderColor": "purple", "tags": [ "overview" ], "description": "WellNuo Voice Assistant\n\nТип: Distributed Mobile Application\nПарадигма: Client-Server with AI Integration\n\nКомпоненты:\n- Mobile Client\n- Backend Server\n- AI Processing\n- Data Layer", "x": 320.021728515625, "y": 353.0653381347656 }, { "id": "mobile_client", "type": "card", "title": "Mobile Client", "borderColor": "green", "tags": [ "frontend" ], "description": "Stack: React Native, Expo, TypeScript\n\nModules:\n- Conversation Manager\n- UI Components\n- Storage Manager\n- API Client", "x": 520, "y": 145 }, { "id": "backend_server", "type": "card", "title": "Backend Server", "borderColor": "blue", "tags": [ "backend" ], "description": "Stack: Node.js, Express.js\n\nModules:\n- Auth Service\n- User Management\n- Chat API\n- Integration Layer", "x": 900, "y": 260 }, { "id": "ai_processing", "type": "card", "title": "AI Processing Layer", "borderColor": "orange", "tags": [ "external" ], "description": "Provider: OpenRouter\n\nCapabilities:\n- Natural Language Processing\n- Intent Recognition\n- Response Generation", "x": 645.85302734375, "y": 431.2110595703125 }, { "id": "data_layer", "type": "card", "title": "Data Layer", "borderColor": "blue", "tags": [ "backend" ], "description": "Primary: PostgreSQL\nCache: Redis\nORM: Prisma\n\nData:\n- Users\n- Conversations\n- Settings", "x": 1280, "y": 375 }, { "id": "tech_mobile", "type": "card", "title": "Mobile Tech Spec", "borderColor": "teal", "tags": [ "frontend", "tech" ], "description": "Framework: React Native + Expo SDK 54\nLanguage: TypeScript\nNavigation: Expo Router\nStorage: SecureStore + AsyncStorage", "x": 1660, "y": 145 }, { "id": "tech_backend", "type": "card", "title": "Backend Tech Spec", "borderColor": "teal", "tags": [ "backend", "tech" ], "description": "Runtime: Node.js 18+\nAPI: RESTful\nAuth: JWT + OAuth 2.0\nDocs: Swagger/OpenAPI", "x": 1660, "y": 260 }, { "id": "tech_database", "type": "card", "title": "Database Tech Spec", "borderColor": "teal", "tags": [ "backend", "tech" ], "description": "Primary: PostgreSQL 14+\nCache: Redis 7+\nORM: Prisma\nBackups: Daily + PITR", "x": 1660, "y": 375 }, { "id": "performance", "type": "card", "title": "Performance Requirements", "borderColor": "gray", "tags": [ "requirements" ], "description": "Response Times:\n- UI: < 100ms\n- API: < 500ms\n- AI: < 2000ms\n\nAvailability: 99.9%", "x": 2040, "y": 260 }, { "id": "security", "type": "card", "title": "Security Architecture", "borderColor": "red", "tags": [ "security" ], "description": "Encryption: AES-256\nAuth: JWT + refresh\nAPI: Rate limiting\nCompliance: GDPR", "x": 2420, "y": 260 }, { "id": "privacy", "type": "card", "title": "Privacy Requirements", "borderColor": "red", "tags": [ "security" ], "description": "- Data minimization\n- Explicit consent\n- Right to deletion\n- Data portability", "x": 2800, "y": 260 }, { "id": "monitoring", "type": "card", "title": "Monitoring", "borderColor": "blue", "tags": [ "backend" ], "description": "Metrics: APM, Business, Infra\nLogging: Structured JSON\nAlerting: Email/Slack", "x": 3180, "y": 260 }, { "id": "risks", "type": "card", "title": "Risk Assessment", "borderColor": "yellow", "tags": [ "overview" ], "description": "Tech Risks:\n- AI latency → Multiple providers\n- Offline limits → Progressive sync\n\nBusiness:\n- AI costs → Quotas\n- Privacy → By design", "x": 3560, "y": 260 } ], "connections": [ { "from": "header", "to": "mobile_client", "label": "frontend" }, { "from": "header", "to": "backend_server", "label": "backend" }, { "from": "header", "to": "ai_processing", "label": "AI" }, { "from": "mobile_client", "to": "backend_server", "label": "API" }, { "from": "backend_server", "to": "ai_processing" }, { "from": "backend_server", "to": "data_layer" }, { "from": "mobile_client", "to": "tech_mobile" }, { "from": "backend_server", "to": "tech_backend" }, { "from": "data_layer", "to": "tech_database" }, { "from": "tech_mobile", "to": "performance" }, { "from": "tech_backend", "to": "performance" }, { "from": "tech_database", "to": "performance" }, { "from": "performance", "to": "security" }, { "from": "security", "to": "privacy" }, { "from": "privacy", "to": "monitoring" }, { "from": "monitoring", "to": "risks" } ], "tagsDictionary": [ { "id": "tag-overview", "name": "overview", "color": "purple" }, { "id": "tag-frontend", "name": "frontend", "color": "green" }, { "id": "tag-backend", "name": "backend", "color": "blue" }, { "id": "tag-external", "name": "external", "color": "orange" }, { "id": "tag-tech", "name": "tech", "color": "teal" }, { "id": "tag-requirements", "name": "requirements", "color": "gray" }, { "id": "tag-security", "name": "security", "color": "red" } ] }