Skip to content

Fullfinity

A modern ERP platform with an ORM that’s intelligent at every layer.

Most ORMs execute queries. Ours understands them. Fullfinity was built from scratch to eliminate wasted work — selective field hydration, smart computed field dependencies, automatic prefetching, and true async throughout.

AspectFullfinityTraditional ERPs
ORMQuery-intelligent — fetches only what’s neededFetch everything, optimize later
Computed FieldsSmart dependency resolution per fieldLoad all dependencies or hit N+1
AsyncNative async throughout (asyncpg)Synchronous or async bolted on
ViewsJSON-based, semantic inheritanceXML with XPath targeting
FrontendReact + MantineLegacy frameworks
Expression LanguageSame Q() syntax everywhereDifferent syntax per context
  • Intelligent ORM - Selective hydration, smart prefetching, zero wasted queries
  • Modular Architecture - Develop features as independent modules with clean inheritance
  • Dynamic Views - JSON-based declarative UI with semantic targeting
  • One Expression Language - Q() works in Python, JSON views, security rules, and client-side
  • Role-Based Access Control - Groups, model permissions, and record rules
  • Auto-Generated API - REST endpoints created automatically from models
  • Multi-Tenancy - Database isolation with per-tenant module installation
  • Backend: Python 3.10+, FastAPI, asyncpg
  • Database: PostgreSQL with JSONB support
  • Cache: Valkey (Redis-compatible)
  • Frontend: React with Mantine UI
# Define a model
from fullfinity.engine.base import *
class Product(Model):
name = Char(max_length=255, required=True)
price = Monetary(default=0.0)
active = Boolean(default=True)
category = ManyToOne("ProductCategory", related_name="products")
# Query data
products = await Product.filter(active=True, price__gte=100).all()
# Create records
product = await Product.create(name="Laptop", price=999.99)
// Define a view
{
"data_type": "UiView",
"identifier": "product_form_view",
"type": "Form",
"model": "Product",
"arch": [
{
"type": "row",
"content": [
{
"type": "column",
"span": 6,
"content": [
{"type": "field", "name": "name", "properties": {"widget": "TextInput"}}
]
}
]
}
]
}
  1. Installation
  2. Configuration
  3. Quick Start
  • Architecture - Understand how Fullfinity works
  • Models - Define your data structures
  • Views - Create user interfaces
  • Security - Control access to your data
  • Guides - Step-by-step tutorials