Welcome

This section covers the technical aspects of Obeya Cloud for developers who want to:
  • Integrate with the Obeya Cloud API
  • Extend the platform with custom integrations
  • Self-host Obeya Cloud on your own infrastructure
  • Contribute to the open-source project

Architecture

System architecture, tech stack, and design decisions

Local Setup

Get the development environment running on your machine

Authentication

Auth.js v5 authentication flow and session management

API Reference

Complete tRPC API documentation

Tech Stack

Obeya Cloud is built with a modern, type-safe stack:
LayerTechnology
FrameworkNext.js 15 (App Router)
LanguageTypeScript 5.x
APItRPC v11
DatabasePostgreSQL 16 + Drizzle ORM
AuthAuth.js v5 (NextAuth)
Real-TimeWebSocket (Hono + Bun)
CacheRedis 7 (Upstash for cloud)
StorageS3-compatible (MinIO for self-hosted)
SearchMeilisearch
Formsform.io
i18nnext-intl (6 languages)
UITailwind CSS + Radix UI + shadcn/ui
MonorepoTurborepo + pnpm workspaces
DeploymentDocker + Kubernetes

Repository Structure

obeya-cloud/
├── apps/
│   ├── web/              # Next.js application
│   ├── ws/               # WebSocket server (Hono + Bun)
│   ├── mintlify-docs/    # Documentation (you are here)
│   └── storybook/        # Component library docs
├── packages/
│   ├── api/              # tRPC router definitions
│   ├── auth/             # Auth.js configuration
│   ├── db/               # Drizzle schema + migrations
│   ├── ui/               # Shared UI components
│   ├── validators/       # Zod schemas
│   ├── i18n/             # Translation files
│   └── config/           # Shared configuration
├── docker/               # Docker Compose files
├── kubernetes/           # K8s manifests
└── turbo.json            # Turborepo config

Development Workflow

  1. Clone the repository and install dependencies
  2. Start local services (PostgreSQL, Redis, MinIO, Meilisearch) via Docker Compose
  3. Run the development server with pnpm dev
  4. Test with pnpm test (unit tests) and pnpm test:e2e (end-to-end tests)
  5. Lint with pnpm lint (ESLint + Prettier)
  6. Build with pnpm build to verify production builds
Obeya Cloud uses Turborepo for build orchestration. The pnpm dev command starts all apps in parallel with proper dependency ordering.

Key Concepts for Developers

  • Multi-tenancy is implemented via subdomain routing. The tenant is resolved in middleware and injected into the request context.
  • tRPC provides end-to-end type safety from the database to the frontend. No REST endpoints or manual type definitions needed.
  • Drizzle ORM provides type-safe database queries with SQL-like syntax. Migrations are handled declaratively.
  • Auth.js v5 handles authentication with support for multiple providers and session strategies.
  • Real-time updates are delivered via WebSocket connections managed by a separate Hono server running on Bun.