# apo998/zajels-windowsos architecture

> Architecture diagram of the GitHub repository apo998/zajels-windowsos, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/apo998/zajels-windowsos
- Repository: https://github.com/apo998/zajels-windowsos

## Overview

Zajels is a multi-tenant customer-engagement platform spanning social publishing, inbox/CRM, automations, analytics, and AI-assisted knowledge and replies. The main workflow is a workspace user managing channels and customer interactions in the dashboard, with backend APIs handling tenant-scoped operations; the RAG service supports document processing and AI response capabilities. Admin and public website surfaces are separate product branches. The README is empty, and source excerpts are partial, so uncertain subsystem wiring is omitted; paths identify documented capabilities, not inspected implementations.

Main entry points: [`client/dashboard/composables/useApiClient.ts`](https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/composables/useApiClient.ts) (Dashboard API client), [`server/src/main/java/com/zajels/backend/service/storage/DefaultObjectStorageService.java`](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/storage/DefaultObjectStorageService.java) (Object storage facade), [`client/dashboard/pages/index.vue`](https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/pages/index.vue) (Workspace dashboard), [`server/src/main/java/com/zajels/backend/controller/RagKnowledgeController.java`](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/RagKnowledgeController.java) (Knowledge API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_surfaces["User surfaces"]
  node_dashboard["Workspace dashboard<br/>[index.vue]"]
  node_public_site["Public website<br/>[index.vue]"]
  node_admin_ui["Admin console<br/>[index.vue]"]
  node_api_client["Dashboard API client<br/>[useApiClient.ts]"]
end

subgraph group_core["Workspace operations"]
  node_workspace_api["Workspace and tenant APIs"]
  node_inbox_api["Unified inbox"]
  node_publishing_api["Social publishing"]
  node_automation_api["Automation flows"]
  node_analytics_api["Analytics and reports"]
  node_enterprise_api["Enterprise suite"]
end

subgraph group_ai["AI and knowledge"]
  node_knowledge_ui["Knowledge management UI<br/>[knowledge.vue]"]
  node_knowledge_api["Knowledge API"]
  node_knowledge_service["Knowledge service"]
  node_improvements_api["AI improvement review"]
  node_improvements_service["Improvement service"]
  node_rag_worker["RAG processing service<br/>[worker.py]"]
end

subgraph group_integrations["External channels"]
  node_google_reviews["Google Reviews integration"]
  node_social_services["Social channel integrations"]
end

subgraph group_platform["Platform services"]
  node_object_storage["Object storage facade"]
  node_local_storage[("Local document storage")]
  node_b2_storage["Backblaze B2 storage"]
end

node_workspace_user(("Workspace user"))
node_google{{"Google services"}}
node_backblaze[("Backblaze B2")]

node_workspace_user -->|"uses"| node_dashboard
node_workspace_user -->|"visits"| node_public_site
node_workspace_user -->|"administers"| node_admin_ui
node_dashboard -->|"requests data"| node_api_client
node_api_client -->|"calls API"| node_workspace_api
node_api_client -->|"calls API"| node_inbox_api
node_api_client -->|"calls API"| node_publishing_api
node_api_client -->|"calls API"| node_automation_api
node_api_client -->|"calls API"| node_analytics_api
node_api_client -->|"calls API"| node_enterprise_api
node_knowledge_ui -->|"manages documents"| node_knowledge_api
node_knowledge_api -->|"invokes"| node_knowledge_service
node_improvements_api -->|"invokes"| node_improvements_service
node_knowledge_service -->|"stores documents"| node_object_storage
node_improvements_service -->|"stores patches"| node_object_storage
node_object_storage -->|"writes cache"| node_local_storage
node_object_storage -->|"uploads objects"| node_b2_storage
node_local_storage -.->|"local documents"| node_rag_worker
node_rag_worker -.->|"downloads documents"| node_backblaze
node_b2_storage -->|"stores objects"| node_backblaze
node_google_reviews -->|"syncs reviews"| node_google
node_social_services -.->|"connects channels"| node_google

click node_dashboard "https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/pages/index.vue"
click node_public_site "https://github.com/apo998/zajels-windowsos/blob/main/client/website/pages/index.vue"
click node_admin_ui "https://github.com/apo998/zajels-windowsos/blob/main/admin/pages/index.vue"
click node_api_client "https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/composables/useApiClient.ts"
click node_workspace_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/WorkspaceController.java"
click node_inbox_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/InboxController.java"
click node_publishing_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/PublishingController.java"
click node_automation_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/AutomationController.java"
click node_analytics_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/AnalyticsController.java"
click node_enterprise_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/enterprise/EnterpriseCrmController.java"
click node_knowledge_ui "https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/pages/knowledge.vue"
click node_knowledge_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/RagKnowledgeController.java"
click node_knowledge_service "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/RagKnowledgeService.java"
click node_improvements_api "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/RagImprovementController.java"
click node_improvements_service "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/RagImprovementService.java"
click node_rag_worker "https://github.com/apo998/zajels-windowsos/blob/main/rag-service/app/worker.py"
click node_object_storage "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/storage/DefaultObjectStorageService.java"
click node_local_storage "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/storage/LocalStorageService.java"
click node_b2_storage "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/storage/BackblazeB2StorageService.java"
click node_google_reviews "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/google/GoogleReviewService.java"
click node_social_services "https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/SocialIntegrationController.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_dashboard,node_public_site,node_admin_ui,node_api_client,node_workspace_user toneBlue
class node_workspace_api,node_inbox_api,node_publishing_api,node_automation_api,node_analytics_api,node_enterprise_api,node_backblaze toneAmber
class node_knowledge_ui,node_knowledge_api,node_knowledge_service,node_improvements_api,node_improvements_service,node_rag_worker toneMint
class node_google_reviews,node_social_services toneRose
class node_object_storage,node_local_storage,node_b2_storage,node_google toneIndigo
```

## Components

### User surfaces

- [Workspace dashboard](https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/pages/index.vue): `client/dashboard/pages/index.vue`
- [Public website](https://github.com/apo998/zajels-windowsos/blob/main/client/website/pages/index.vue): `client/website/pages/index.vue`
- [Admin console](https://github.com/apo998/zajels-windowsos/blob/main/admin/pages/index.vue): `admin/pages/index.vue`
- [Dashboard API client](https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/composables/useApiClient.ts): `client/dashboard/composables/useApiClient.ts`

### Workspace operations

- [Workspace and tenant APIs](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/WorkspaceController.java): `server/src/main/java/com/zajels/backend/controller/WorkspaceController.java`
- [Unified inbox](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/InboxController.java): `server/src/main/java/com/zajels/backend/controller/InboxController.java`
- [Social publishing](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/PublishingController.java): `server/src/main/java/com/zajels/backend/controller/PublishingController.java`
- [Automation flows](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/AutomationController.java): `server/src/main/java/com/zajels/backend/controller/AutomationController.java`
- [Analytics and reports](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/AnalyticsController.java): `server/src/main/java/com/zajels/backend/controller/AnalyticsController.java`
- [Enterprise suite](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/enterprise/EnterpriseCrmController.java): `server/src/main/java/com/zajels/backend/controller/enterprise/EnterpriseCrmController.java`

### AI and knowledge

- [Knowledge management UI](https://github.com/apo998/zajels-windowsos/blob/main/client/dashboard/pages/knowledge.vue): `client/dashboard/pages/knowledge.vue`
- [Knowledge API](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/RagKnowledgeController.java): `server/src/main/java/com/zajels/backend/controller/RagKnowledgeController.java`
- [Knowledge service](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/RagKnowledgeService.java): `server/src/main/java/com/zajels/backend/service/RagKnowledgeService.java`
- [AI improvement review](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/RagImprovementController.java): `server/src/main/java/com/zajels/backend/controller/RagImprovementController.java`
- [Improvement service](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/RagImprovementService.java): `server/src/main/java/com/zajels/backend/service/RagImprovementService.java`
- [RAG processing service](https://github.com/apo998/zajels-windowsos/blob/main/rag-service/app/worker.py): `rag-service/app/worker.py`

### External channels

- [Google Reviews integration](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/google/GoogleReviewService.java): `server/src/main/java/com/zajels/backend/service/google/GoogleReviewService.java`
- [Social channel integrations](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/controller/SocialIntegrationController.java): `server/src/main/java/com/zajels/backend/controller/SocialIntegrationController.java`

### Platform services

- [Object storage facade](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/storage/DefaultObjectStorageService.java): `server/src/main/java/com/zajels/backend/service/storage/DefaultObjectStorageService.java`
- [Local document storage](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/storage/LocalStorageService.java): `server/src/main/java/com/zajels/backend/service/storage/LocalStorageService.java`
- [Backblaze B2 storage](https://github.com/apo998/zajels-windowsos/blob/main/server/src/main/java/com/zajels/backend/service/storage/BackblazeB2StorageService.java): `server/src/main/java/com/zajels/backend/service/storage/BackblazeB2StorageService.java`

### Other components

- **Workspace user**
- **Google services**
- **Backblaze B2**

## Connections

- Workspace user → Workspace dashboard: uses
- Workspace user → Public website: visits
- Workspace user → Admin console: administers
- Workspace dashboard → Dashboard API client: requests data
- Dashboard API client → Workspace and tenant APIs: calls API
- Dashboard API client → Unified inbox: calls API
- Dashboard API client → Social publishing: calls API
- Dashboard API client → Automation flows: calls API
- Dashboard API client → Analytics and reports: calls API
- Dashboard API client → Enterprise suite: calls API
- Knowledge management UI → Knowledge API: manages documents
- Knowledge API → Knowledge service: invokes
- AI improvement review → Improvement service: invokes
- Knowledge service → Object storage facade: stores documents
- Improvement service → Object storage facade: stores patches
- Object storage facade → Local document storage: writes cache
- Object storage facade → Backblaze B2 storage: uploads objects
- Local document storage → RAG processing service: local documents
- RAG processing service → Backblaze B2: downloads documents
- Backblaze B2 storage → Backblaze B2: stores objects
- Google Reviews integration → Google services: syncs reviews
- Social channel integrations → Google services: connects channels
