Skip to content

Core Documentation

Essential FraiseQL concepts, architecture, and core features.

Getting Started

Type System & Schema

  • Types and Schema - Complete guide to FraiseQL's type system
  • @type decorator and GraphQL type mapping
  • Input types, success/failure patterns
  • Type composition and reusability
  • Queries and Mutations - Define GraphQL operations
  • @query and @mutation decorators
  • Auto-generated resolvers
  • Success/failure pattern implementation

Database Integration

  • Database API - PostgreSQL connection and query execution
  • Connection pooling and management
  • Calling PostgreSQL functions
  • Transaction handling
  • DDL Organization - SQL schema organization patterns
  • Naming conventions: tb_*, v_*, tv_*, fn_*
  • Migration strategies
  • PostgreSQL Extensions - Required and recommended extensions
  • uuid-ossp, ltree, pg_trgm, PostGIS

Advanced Concepts

  • Rust Pipeline Integration - How the Rust acceleration works
  • JSONB → Rust → HTTP response path
  • Field selection optimization
  • Performance characteristics
  • Explicit Sync Pattern - Table views (tv_*) synchronization
  • When to use table views vs regular views
  • Sync function patterns
  • Performance trade-offs

Configuration & Dependencies

  • Configuration - Application configuration reference
  • Database settings
  • APQ configuration
  • Caching backends
  • Security and CORS
  • Dependencies - Required and optional Python/system dependencies
  • Migrations - Database schema migration strategies

Quick Navigation

New to FraiseQL? Start here: 1. Concepts & Glossary - Understand the mental model 2. Types and Schema - Learn the type system 3. Database API - Connect to PostgreSQL 4. Queries and Mutations - Build your API

Building production apps? - Configuration - Production settings - Rust Pipeline Integration - Performance optimization - Explicit Sync Pattern - Complex data patterns