Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ export default defineConfig({
link: 'https://github.com/aureuserp/aureuserp'
},
{ text: 'Contact Us', link: 'https://aureuserp.com/en/contacts/' },
{ component: 'VersionSwitcher' }
],

sidebar,
Expand Down
226 changes: 0 additions & 226 deletions .vitepress/theme/components/VersionSwitcher.vue

This file was deleted.

2 changes: 0 additions & 2 deletions .vitepress/theme/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { h } from 'vue'
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import VersionSwitcher from '@theme/components/VersionSwitcher.vue'
import '@theme/styles/index.css'
import '@theme/styles/custom.css'

Expand All @@ -11,6 +10,5 @@ export default {
return h(DefaultTheme.Layout, null, {})
},
enhanceApp({ app }) {
app.component('VersionSwitcher', VersionSwitcher)
}
} satisfies Theme
40 changes: 35 additions & 5 deletions src/master/architecture/panels.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,47 @@ The Admin [Panel](https://filamentphp.com/docs/3.x/panels/configuration) Provide
- `sidebarCollapsibleOnDesktop()`: Makes the sidebar collapsible on desktop devices
- `maxContentWidth()`: Sets content width to full screen

### Navigation Structure
## How Menus Are Registered

Menus are registered through **Filament Resources, Pages, and Widgets** provided by each plugin.

When a plugin is loaded:

1. The **PluginManager** registers the plugin into the panel
2. Filament automatically discovers:
* Resources
* Pages
* Widgets
3. Each of these defines its own navigation configuration

Example inside a Resource:

```php
protected static ?string $navigationGroup = 'Sales';
protected static ?string $navigationIcon = 'icon-orders';
protected static ?int $navigationSort = 20;
```

This ensures:

* The menu appears in the correct group
* The icon is consistent
* The menu order is predictable

## Navigation Groups (High-Level Menu Sections)

Navigation groups are **predefined at the panel level** in the `AdminPanelProvider`:

```php
->navigationGroups([
NavigationGroup::make()->label('Dashboard'),
NavigationGroup::make()->label('Settings'),
NavigationGroup::make()->label(__('admin.navigation.sale')),
NavigationGroup::make()->label(__('admin.navigation.accounting')),
NavigationGroup::make()->label(__('admin.navigation.inventory')),
])
```

- Creates two main navigation groups: Dashboard and Settings
- Groups help organize navigation items into logical sections
These groups act as **containers**.
Plugins simply reference the group name when registering menus.

### Plugin Integration

Expand Down
40 changes: 33 additions & 7 deletions src/master/architecture/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ These plugin can be installed as needed to extend system functionality:
| Module | Description |
| ------------ | -------------------------------------------- |
| Blogs | Manage blogs |
| Accounts | Financial accounting and reporting |
| Accounts | Core financial configuration module that defines chart of accounts, journals, ledgers, currencies, and fiscal structures used by other financial plugins |
| Accounting | Main accounting operations module that handles journal entries, financial reports, period closing, and accounting workflows based on the Accounts setup |
| Contacts | Contact management for customers and vendors |
| Employees | Employees management |
| Inventory | Inventory and warehouse management |
Expand All @@ -34,13 +35,38 @@ These plugin can be installed as needed to extend system functionality:
| Timesheet | Employee work hour tracking |
| Website | Website for customer |

## **Accounts**
## Accounts vs Accounting

- **Purpose**: Manages financial accounts, including ledgers, journals, and chart of accounts.
- **Key Features**:
- Supports multi-currency transactions.
- Integration with invoices and payments.
- Comprehensive financial reporting and audit trails.
In Aureus ERP, **Accounts** and **Accounting** are intentionally separated to provide a **flexible, scalable, and extensible financial system**.

### **Accounts (Base / Helper Plugin)**

* **Role**: Foundational financial layer
* **Purpose**: Provides core accounting structures used by other financial modules

**Key Responsibilities:**

* Chart of Accounts (assets, liabilities, income, expenses)
* Journals and ledger definitions
* Currency and fiscal configurations
* Common accounting utilities shared across modules

The **Accounts plugin does not handle business workflows directly**. Instead, it acts as a **shared financial backbone** that ensures consistency across all financial operations.

### **Accounting (Main Functional Plugin)**

* **Role**: Primary accounting engine
* **Purpose**: Handles real-world accounting workflows and financial operations

**Key Responsibilities:**

* Journal entries and postings
* Financial reports (Profit & Loss, Balance Sheet, Trial Balance)
* Period closing and adjustments
* Integration with invoices, payments, purchases, and sales
* Audit trails and compliance-ready records

The **Accounting plugin depends on Accounts** to function correctly and uses its structures to execute business logic.

## **Analytics**

Expand Down
24 changes: 16 additions & 8 deletions src/master/getting-started/clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,26 @@ To enable clusters in Aures ERP, configure the panel to discover cluster classes
```php
public function register(Panel $panel): void
{
if (! Package::isPluginInstalled($this->getId())) {
return;
}

$panel
->when($panel->getId() == 'admin', function (Panel $panel) {
$panel
->discoverResources(in: $this->getPluginBasePath('/Filament/Resources'), for: 'Webkul\\Blog\\Filament\\Resources')
->discoverPages(in: $this->getPluginBasePath('/Filament/Pages'), for: 'Webkul\\Blog\\Filament\\Pages')
->discoverResources(
in: __DIR__.'/Filament/Resources',
for: 'Webkul\\Blog\\Filament\\Resources'
)
->discoverPages(
in: __DIR__.'/Filament/Pages',
for: 'Webkul\\Blog\\Filament\\Pages'
)
// below method is responsible to discover the clusters form blog plugin.
->discoverClusters(in: $this->getPluginBasePath('/Filament/Clusters'), for: 'Webkul\\Blog\\Filament\\Clusters')
->discoverWidgets(in: $this->getPluginBasePath('/Filament/Widgets'), for: 'Webkul\\Blog\\Filament\\Widgets');
->discoverClusters(
in: __DIR__.'/Filament/Clusters',
for: 'Webkul\\Blog\\Filament\\Clusters'
)
->discoverWidgets(
in: __DIR__.'/Filament/Widgets',
for: 'Webkul\\Blog\\Filament\\Widgets'
);
});
}
```
Expand Down
Loading