Contember Documentation

website·Indexed 33 days ago

https://docs.contember.com

An open source platform for developers to build and manage data-driven web applications. Features include a GraphQL API for content and tenant management, OIDC/Facebook/Apple identity provider configuration, passwordless authentication, TOTP-based two-factor authentication, and tools for schema definition and database migrations.

Tokens
83.8K
Snippets
370
Records
555
Agent score
63%

What's inside Contember

  1. Overview of the Contember platform

    Contember is an open-source platform for building data-driven web applications. It consists of two primary components:

    1. Contember Engine: A backend that allows developers to define data models using TypeScript. It automatically generates a well-structured PostgreSQL database, handles database migrations, and provides a high-performance GraphQL API with built-in authentication and role-based access control (RBAC).
    2. Contember Interface: A React-based framework that provides high-level components and automated data binding from the GraphQL server to the UI, reducing the need for manual data fetching.

    Contember is designed for building custom backends, headless CMSes, CRM systems, and employee portals.

  2. Overview of the Contember Platform

    Contember is an open-source platform for building data-driven web applications. It consists of three primary components:

    1. Contember Engine: A standalone server that generates a GraphQL API (Content API) and an authentication/authorization system (Tenant API) based on TypeScript data models. It manages a PostgreSQL database and handles automatic migrations.
    2. Contember Interface: A React-based SDK for building management UIs. It uses high-level components that automatically bind to the Contember Engine's GraphQL API, removing the need for manual data fetching.
    3. Contember Cloud: A managed hosting service for deploying and scaling the Contember Engine.
  3. Overview of Schema state mode in Engine 2.1+

    Schema state mode changes how non-model parts of the schema are tracked. Instead of generating a new migration file for every small tweak, the following components are stored as plain JSON files in a state/ directory:

    • ACL (state/acl.json)
    • Validation (state/validation.json)
    • Actions (state/actions.json)
    • Settings (state/settings.json)

    The database model (entities, columns, relations, indexes) continues to be tracked via standard migrations. This mode provides more readable pull request diffs, eliminates migration churn for simple tweaks, and simplifies conflict resolution.

  4. Overview of Contember Interface SDK

    Contember Interface is a React SDK designed for declaratively building user-friendly administration interfaces. It features automatic data binding to connect the UI to the Contember Engine GraphQL API, reducing the amount of manual data management code required. The SDK supports multi-language translation and allows developers to integrate custom React.js components alongside the provided library.
  5. Overview of Contember Interface

    Contember Interface is a React-based framework used to rapidly develop custom user interfaces for the Contember Engine (a headless GraphQL API). It allows developers to build single-page applications (SPAs) by combining pre-built Interface components with any standard React components. The framework is headless by default but comes with a default UI styled with shadcn/ui and Tailwind CSS.
  6. Introduction to the Contember Tenant API

    The Contember Tenant API is a specialized GraphQL API used for managing projects, tokens, users, and roles. It is shared across all projects and is accessible at https://engine-hostname/tenant. Every request to the Tenant API requires a Bearer token in the Authorization header.
  7. Overview of the Contember platform

    Contember is an open-source platform designed for building and managing data-driven web applications. It consists of two primary components:

    1. Contember Engine: A backend system where you define data models using TypeScript. It automatically generates a well-structured PostgreSQL database, handles database migrations, and provides a high-performance, role-specific GraphQL API.
    2. Contember Interface: A React framework that allows developers to build custom user interfaces using high-level React components with automated data binding to the GraphQL server.

    The platform includes built-in authentication, role-based access control (RBAC), and multi-language support. It is licensed under the Apache 2 license for self-hosting.

  8. Overview of UI Data Grid

    The UI Data Grid is a collection of ready-made React components for displaying data in tables or tiles. It provides built-in support for sorting, filtering (text, enum, boolean, date), and pagination. It is built on top of the @contember/react-dataview headless system and integrates with the Contember interface binding to render fields and relations. Use the UI Data Grid for fast, conventional table-based UIs; use the Headless Data View for unconventional layouts or custom design systems.
  9. Overview of Contember Permissions and ACL

    Contember uses a declarative ACL system to manage granular user permissions. It supports three levels of access control:

    • Row-level permissions: Controls which records a role can see or modify.
    • Column-level permissions: Controls which specific fields within a record are visible or writable.
    • Cell-level permissions: Allows different conditions on individual fields within the same row.

    ACL rules are translated into predicates (conditions) using the same filter syntax as the Content API. Multiple rules are merged using logical OR operations.

  10. Overview of headless DataView API

    The @contember/react-dataview library provides a headless API for building custom data listings (tables, grids, tile views). Unlike styled components, it decouples logic from UI, providing primitives for filtering, sorting, pagination, and selection while allowing the developer to define the markup. It supports state persistence across URL, session storage, local storage, or custom storage.
  11. Overview of the Contember platform

    Contember is an open-source platform for building and managing data-driven web applications. It consists of two primary components:

    1. Contember Engine: A backend system where developers define data models using TypeScript. It automatically generates a well-structured PostgreSQL database, handles database migrations, and provides a high-performance GraphQL API.
    2. Contember Interface: A React framework that allows developers to build bespoke user interfaces using high-level React components with automated data binding from the GraphQL server.

    The platform includes built-in authentication, role-based access control (RBAC), and a History API for tracking data changes.

  12. Overview of the Contember platform

    Contember is an open-source platform for building data-driven web applications. It consists of two primary components:

    1. Contember Engine: A backend that allows developers to define data models using TypeScript, which then automatically generates a high-performance GraphQL API and a structured PostgreSQL database with automatic migrations.
    2. Contember Interface: A React framework providing high-level components with automated data binding to the GraphQL server, reducing the need for manual data fetching.

    The platform includes built-in authentication, role-based access control (RBAC), and a History API for tracking data changes. It is licensed under the Apache 2 license for self-hosting.