Mirror of https://github.com/roostorg/coop github.com/roostorg/coop
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

README.md

Plugin Architecture#

This directory contains the contracts and utilities that power Coop's pluggable infrastructure story. Adapters implement small TypeScript interfaces and are loaded dynamically at runtime, which keeps the core service independent from any particular warehouse or analytics vendor.

The goals of this layout are:

  • Allow first-party adapters (Clickhouse, Postgres, etc.) to live alongside community-provided ones without touching core code
  • Make it trivial for deployers to publish and consume custom adapters via NPM
  • Keep the contracts minimal so the abstractions do not leak complex vendor-specific behaviour

Directory Layout#

server/plugins/
├── analytics/         # Analytics logging/querying contracts
│   ├── IAnalyticsAdapter.ts
│   ├── types.ts
│   └── examples/
├── warehouse/         # OLTP warehouse interfaces
│   ├── IWarehouseAdapter.ts
│   ├── types.ts
│   └── examples/
└── utils/             # Shared helper utilities for adapter authors

The examples folders intentionally ship tiny reference implementations (for instance a no-op adapter) so that authors can copy/paste a starting point.