Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / Genel bakış

Açıklama

Cluster ERP nedir

Cluster ERP'nin ürün kapsamı, üç istemcisi, 28 arka uç modülü ve proje kurallarında belirtilen küresel ve çok dilli hedefi.

Cluster ERP, Python ile yazılmış modüler bir kurumsal kaynak planlama sistemidir. Bu sayfa kapsamı kodun tanımladığı biçimiyle anlatır: sunucu, ona ulaşmanın üç yolu ve her biri tek satırla 28 arka uç modülü. Parçaların birlikte nasıl çalıştığını anlatmaz; bunun için mimariye genel bakış sayfasına bakın.

Kısaca

  • Paketin adı cluster-erp'dir, kendini "Modular Enterprise Resource Planning System" olarak tanımlar ve tescilli (proprietary) bir lisans bildirir (pyproject.toml:5-10, LICENSE).
  • Sunucu, create_app fabrikasının kurduğu bir FastAPI uygulamasıdır (src/cluster_erp/server/app.py:1287).
  • İş özellikleri src/cluster_erp/modules/ altındaki 28 modülde bulunur. Her biri ModuleBase sınıfından türer (src/cluster_erp/core/module_base.py:14).
  • Üç istemci vardır: webapp/ içindeki web uygulaması, PySide6 masaüstü istemcisi ve HTTP API'nin kendisi (src/cluster_erp/server/app.py:1633-1644, pyproject.toml:86-88).
  • Proje kuralları tüm ülkeleri ve birçok dili hedefler.

Nasıl çalışır

Sunucu süreci python -m cluster_erp.server.main ile başlar; bu komut uvicorn'u create_app fabrikasıyla çalıştırır (src/cluster_erp/server/main.py:39-41). Açılışta modül kaydı etkin her modülü yükler; her modül kendi rotalarını, EventBus işleyicilerini ve ekran metadata'sını ekler (src/cluster_erp/core/module_registry.py:32-56). Ayrıntılar sunucu açılışı ve uygulama fabrikası ve modül yaşam döngüsü sayfalarındadır.

Üç istemci

İstemci Nedir Giriş noktası Kaynak
Web uygulaması Aynı sunucunun /app yolunda sunduğu vanilla JavaScript tek sayfa uygulaması webapp/index.html src/cluster_erp/server/app.py:1633-1644
Masaüstü istemci desktop ekiyle kurulan PySide6 uygulaması cluster-erp-desktop betiği, cluster_erp.desktop.main:main pyproject.toml:68-73, pyproject.toml:88
HTTP API /api/v1/ altında, modül başına bir önekli JSON rotaları ModuleBase.api_prefix src/cluster_erp/core/module_base.py:36-38

İki istemci de ekranlarını GET /api/v1/_meta ile sunulan modül metadata'sından çizer (src/cluster_erp/server/app.py:1518-1556). İstemciler web uygulaması bölümünde ve masaüstü bölümünde belgelenir.

28 arka uç modülü

Tablo src/cluster_erp/modules/ altındaki her klasörü listeler (ls ile sayılan 28 klasör, __pycache__ hariç). Açıklama sütunu modülün kendi description özelliğinden alınmıştır ve kodun İngilizce metnidir. enabled_modules ayarının varsayılan değeri aynı 28 adı listeler (src/cluster_erp/config/settings.py:535-564).

Modül Koddaki açıklama Kaynak
analytics Analytics: semantic layer, safe query generation, correctness gates src/cluster_erp/modules/analytics/module.py:39
app_store App catalogue, entitlements and installs src/cluster_erp/modules/app_store/module.py:36
auth Authentication, authorization (RBAC + ABAC), and approval chains src/cluster_erp/modules/auth/module.py:26
bom Bill of Materials, multi-level product structure management src/cluster_erp/modules/bom/module.py:30
calendars Working-time templates, calendars, and exceptions src/cluster_erp/modules/calendars/module.py:27
costing Cost analysis, labor/overhead rates, CBS, margin calculation src/cluster_erp/modules/costing/module.py:26
crm Customer and RFQ management with state machine and inbox src/cluster_erp/modules/crm/module.py:29
currencies Currency management and exchange rate tracking src/cluster_erp/modules/currencies/module.py:29
design_engineering Design lifecycle, versioning, and engineering change notes (ECN) src/cluster_erp/modules/design_engineering/module.py:26
documents Document management with versioning and approval workflows src/cluster_erp/modules/documents/module.py:29
fleet Fleet management: vehicles, machines, custom tracking src/cluster_erp/modules/fleet/module.py:150
intranet Intranet: news, policies, directory, leave, requests, delivery src/cluster_erp/modules/intranet/module.py:45
inventory Inventory management: warehouses, stock levels, batch and serial tracking src/cluster_erp/modules/inventory/module.py:27
logs Activity and error logging src/cluster_erp/modules/logs/module.py:26
mail Connect external mail accounts (Gmail/Outlook/IMAP) and read/compose mail src/cluster_erp/modules/mail/module.py:29
nesting Sheet-metal nesting optimization: layout planning and material utilization src/cluster_erp/modules/nesting/module.py:26
owned_organisations Manage owned organisations, departments, and employees src/cluster_erp/modules/owned_organisations/module.py:29
parties Manage all parties: individuals, organisations, addresses, and communication channels src/cluster_erp/modules/parties/module.py:33-35
privacy Data-subject requests: access, rectification, erasure, objection src/cluster_erp/modules/privacy/module.py:36
procurement Purchase requests, purchase orders, critical materials, MRP, substitution groups src/cluster_erp/modules/procurement/module.py:29
production Production management: work centers, routings, production orders src/cluster_erp/modules/production/module.py:29
products_and_services Material master: products, services, categories, and units src/cluster_erp/modules/products_and_services/module.py:29
projects Project management, kick-off, schedules, actions, and fixtures src/cluster_erp/modules/projects/module.py:29
purchasing_quotations Supplier quotation register: standalone and RFQ-linked quotations, comparison, award, price history src/cluster_erp/modules/purchasing_quotations/module.py:30-33
quotations Quotation management with feasibility, costing, and approval workflow src/cluster_erp/modules/quotations/module.py:29
records Record lifecycle: deactivation reasons and reactivation src/cluster_erp/modules/records/module.py:34
sales_orders Sales orders: PO check and frozen PO revisions, units, shipments, proof of delivery, export documents src/cluster_erp/modules/sales_orders/module.py:29-32
subscriptions Recurring subscription plans and customer subscriptions src/cluster_erp/modules/subscriptions/module.py:26

Tablodaki bazı açıklamalar hafifçe düzenlenmiştir: noktalama tireleri virgülle değiştirilmiş, "&" yerine "and" yazılmış ve sales_orders metninden "(assets)" ile "with packages, transport" sözcükleri çıkarılmıştır. Her modülün modüller bölümünde kendi sayfası vardır.

Neden böyle kurulmuştur

Projenin yazılı mühendislik kuralları hedefi belirtir: ürün tüm ülkeleri hedefler. Dil, para birimi, tarih biçimi, adres yapısı ve vergi sistemi ülkeden bağımsız çalışmalıdır. Yeni bir dil, kod değişikliği gerektirmeyen yeni bir JSON dosyasıdır. Ülkeler, adres seviyeleri ve para birimleri gibi referans veriler kodda değil veritabanında tutulur.

Kod bu hedefin bazı kısımlarını yansıtır:

  • Web uygulaması dil listesini webapp/i18n/languages.json dosyasından okur; dosya tr ve en dillerini listeler.
  • Para birimleri, ISO 4217 kümesinden tohumlanan core_currencies satırlarıdır (src/cluster_erp/core/currencies.py:57-89, src/cluster_erp/core/currencies.py:1811-1852).
  • Ülkeler, açılışta parties modülünün tohumladığı parties_countries satırlarıdır (src/cluster_erp/modules/parties/settings/models.py:12-13, src/cluster_erp/modules/parties/module.py:41-42).

Ayrıntılar için referans veriler ve çekirdek i18n sayfasına bakın.

Kurallar ve sınırlar

Projenin yazılı mühendislik kuralları bağlayıcı kuralları listeler: tahmin yok, sabit değer gömme yok, modüller arası doğrudan çağrı yok, parada Decimal, fiziksel silme yok, zorunlu ürün, model ve versiyon kırılımı ve metadata güdümlü web uygulaması. Platform bölümü her kuralı uygulayan kodu gösterir; kararlar bölümü kuralları kayda geçirir.

Diğer parçalarla etkileşim

Sunucu, istemciler ve modüller üç yerde buluşur: HTTP API, metadata belgesi ve EventBus. Mimariye genel bakış bunu tek bir şemayla gösterir.

Sınırlar ve açık noktalar

  • FastAPI uygulaması 0.1.0 sürümünü bildirir (src/cluster_erp/server/app.py:1296-1298); pyproject.toml:7 de aynısını bildirir. Git geçmişinde v0.1.37 gibi sürüm etiketleri vardır. İki sürüm numarasının ilişkisi koddan belirlenemedi.
  • Bir kurulumun hangi ülkelere hizmet verdiği çalışma zamanı verisidir. Koddan belirlenemedi.

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
module ModuleBase src/cluster_erp/modules/ altında kendi rotalarına, olaylarına ve metadata'sına sahip arka uç paketi. modül src/cluster_erp/core/module_base.py:14
web app webapp/ Sunucunun /app yolunda sunduğu, webapp/ içindeki tarayıcı istemcisi. web uygulaması src/cluster_erp/server/app.py:1633-1644

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13