Engineering

Welcome to the engineering documentation for the Bosca Framework. This section is designed to provide software engineers with a detailed understanding of the system's architecture, components, and data flow.

Engineering

Welcome to the engineering documentation for the Bosca Framework. This section is designed to provide software engineers with a detailed understanding of the system's architecture, components, and data flow.

System Architecture

The Bosca Framework is built on a modular architecture that separates concerns into reusable framework components, executable servers, and client applications. It leverages modern technologies like Kotlin Multiplatform, Nuxt 3, and Cloud-Native infrastructure.

Key Components

  • Bosca Server: The primary API gateway and logic handler for the platform. It handles authentication, content management, workflow execution, AI agents, and more.
  • Analytics Collector: Specialized service for ingesting high-volume telemetry and usage data, persisting events via Apache Iceberg.
  • Framework Modules: A collection of reusable Kotlin libraries that power the backend services.

Client Applications

  • Administration UI: Nuxt-based admin dashboard with rich text editing (Tiptap), real-time collaborative editing, Monaco code editor, dashboards, and GraphQL integration. Located in web/administration.
  • Analytics SDK: Browser-based analytics client distributed via npm (@sowers-io/analytics-client-browser). Located in web/analytics.
  • Mobile/Desktop App: Compose Multiplatform client for Android, iOS, and Desktop.
  • Image Processor: Node.js service (Fastify + Sharp) for image resizing, format conversion, and blurhash generation. Located in web/imageprocessor.

Integrations

  • HubSpot: CRM synchronization with contact management, list membership, and bidirectional sync. Uses JSONata for expression-based field mapping. Located in backend/integrations/hubspot.

Technology Stack

  • Backend: Kotlin, Java 25, Gradle
  • Frontend: Nuxt 3, Vue.js, Tailwind CSS
  • Mobile/Desktop: Kotlin Multiplatform (Compose)
  • Database: PostgreSQL
  • Search: Meilisearch
  • Cache / PubSub / Job Queue: Redis or NATS
  • Tracing: OpenTelemetry (Jaeger for local development)
  • Analytics: Trino, Apache Iceberg
  • AI: Google ADK, OpenAI, Gemini
  • Collaboration: Yjs CRDT with Rust FFI bindings