Netforce Framework Developer Documentation¶
Welcome to the comprehensive developer documentation for the Netforce framework - a powerful, model-driven ERP platform built with Python and React.
What is Netforce?¶
Netforce is a full-stack ERP framework that uses a model-driven architecture to rapidly build business applications. The framework automatically generates user interfaces from backend model definitions, enabling developers to focus on business logic rather than UI code.
Key Features¶
- Model-Driven Development - Define models once, get CRUD interfaces automatically
- XML-Based UI Layouts - Declarative UI definition with forms, lists, menus, and dashboards
- JSON-RPC API - Clean communication layer between frontend and backend
- Multi-Company Support - Built-in multi-tenancy
- Audit Logging - Automatic change tracking
- Computed Fields - Dynamic field calculations
- Permission System - Role-based access control
Architecture Overview¶
┌─────────────────────────────────────┐
│ React Frontend │
│ (Generic Components) │
├─────────────────────────────────────┤
│ JSON-RPC API │
├─────────────────────────────────────┤
│ Python Backend │
│ (Models + Layouts + Actions) │
├─────────────────────────────────────┤
│ Database Layer │
└─────────────────────────────────────┘
Quick Navigation¶
- Architecture - Understanding the framework architecture
- Models - Creating and configuring backend models
- Layouts - XML layout system for UI generation
- Frontend - React components and customization
- API Reference - JSON-RPC communication
- Quick Start Tutorial - Build your first module
Example Module Structure¶
my_module/
├── __init__.py
├── models/
│ ├── __init__.py
│ └── my_model.py
├── layouts/
│ ├── my_model_form.xml
│ ├── my_model_list.xml
│ └── my_menu.xml
└── actions/
└── my_actions.xml
Getting Help¶
- Browse the documentation sections in the sidebar
- Check out real examples in the accounting module (
netforce_account) - Review the frontend components in
smartb-frontend/components
Ready to start? Jump into the Architecture guide or try the Quick Start Tutorial!