Factorizer/Cluster ERP WikiCluster ERP Türkçe
Home

Section

Cluster ERP wiki

Home page of the Cluster ERP wiki, with what the product is, one row per section, and how to read the pages.

This wiki documents Cluster ERP as the code implements it. It is the entry point for users, administrators, developers, and operators, and it links to every section. It does not repeat the content of the sections; each section index lists its own pages.

What Cluster ERP is

Cluster ERP is a modular enterprise resource planning system. The server is a FastAPI application built by create_app (src/cluster_erp/server/app.py:1287-1296) that stores its data in PostgreSQL through the asyncpg driver (src/cluster_erp/config/settings.py:841). Its business logic lives in 28 backend modules, counted as the 28 classes that subclass ModuleBase in src/cluster_erp/modules/*/module.py. The project's written engineering rules require modules to talk to each other only through the EventBus. Users work in a metadata-driven web app in webapp/, which the server serves at /app (src/cluster_erp/server/app.py:1633-1644), or in a PySide6 desktop client in src/cluster_erp/desktop/ (src/cluster_erp/desktop/main.py:139). Both clients build their screens from the metadata document that the server publishes at /api/v1/_meta (src/cluster_erp/server/app.py:1518, src/cluster_erp/desktop/core/metadata_store.py:13), and both call the same HTTP API.

Sections

Section What it covers Start page
Overview What Cluster ERP is, the architecture at a glance, and the repository layout Overview
Platform core The backend core: server start-up, module lifecycle, EventBus, contracts, settings, database, ids, money, change history, and shared services Platform core
Identity, access, tenancy, privacy, and licensing Sign-in, roles and permissions, attribute policies, field and row access, approvals, tenants, signup, data-subject requests, licensing, and the operator console Identity, access, tenancy, privacy, and licensing
Web app platform The metadata-driven browser client in webapp/ and the server routes it relies on Web app platform
Desktop client The PySide6 client in src/cluster_erp/desktop/ and how it renders server metadata Desktop client
Business modules One page or folder per backend module, from parties to analytics Business modules
API reference Conventions, authentication, errors, system and shared routes, and one page per backend module API reference
Operations Environments, node installation, configuration, migrations, backups, tenants, and release Operations
Contributing The engineering rules, quality gates, tests, the e2e battery, developer scripts, and writing wiki pages Contributing
Decision records The binding design rules and the code that enforces each Decision records
Reference The glossary and the list of related material outside the wiki Reference
Intent assistant The built-in assistant that maps typed requests to API actions Intent assistant

How to read this wiki

Each page has one type: a tutorial teaches by doing, a how-to guide completes one task, a reference page lists facts, an explanation describes how and why a part works, a module page gives an overview of one backend module, an API page lists the endpoints of one router group, and an index page lists the pages of a section. Every statement about behaviour cites the code that shows it, as a path and line range such as src/cluster_erp/core/module_base.py:62. The text "Not determined from code." marks a question that the code does not answer. A warning that starts with "Discrepancy." records a place where the code and the project's written engineering rules differ; it describes both sides and decides nothing. Every English page name.md has a Turkish twin name.tr.md in the same folder with the same structure, and the language switch moves between them. The last line of each page names the commit and the date that the page was checked against.


Verified against commit 92f8051 on 2026-11-13.

Verified against commit 92f8051 · 2026-11-13