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 inweb/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