Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Master data · Purchases · Sales · Stock Ledger · Adjustments · Reports (Excel/PDF)
Features · Screenshots · Quick Start · Testing · Reports · Architecture
stocks table are rejectedrecalculateTotals(); never trusted from the client| Dashboard | Products |
|---|---|
| Purchases | Sales |
|---|---|
| Stock Overview | Profit & Loss |
|---|---|
| Purchase form (Repeater + live totals) |
|---|
| Package | Version |
|---|---|
| laravel/framework | 13.x |
| filament/filament | 5.x |
| livewire/livewire | 4.x (via Filament) |
| maatwebsite/excel | 4.x |
| barryvdh/laravel-dompdf | 3.x |
| laravel/sail | 1.x |
| PHP | 8.3+ (8.5 in Docker image) |
| MySQL | 8.4 |
docker compose up -d
Login at http://localhost/admin — [email protected] / password
docker compose run --rm composer-sync composer install # vendor/ into ext4 volume (fast on Windows)
docker compose exec laravel.test php artisan migrate --seed
docker compose exec laravel.test php artisan storage:link
docker compose exec laravel.test sh -c 'chown -R sail:sail storage bootstrap/cache'
docker compose exec laravel.test sh -c 'php artisan config:cache && php artisan route:cache && php artisan view:cache && php artisan event:cache && php artisan icons:cache'
Windows note:
./vendor/bin/sailrejects Git Bash/MinGW hosts. Usedocker compose+docker compose exec laravel.test php artisan ...directly.
infrastructure/zz-app-cli.ini — opcache + realpath cache for the CLI server (mounted into the container)vendor-nodel named volume — composer deps on ext4 instead of the Windows mountcaddy reverse proxy — gzip/zstd for all responsesAfter code changes: php artisan optimize:clear then re-run the cache commands.
docker compose exec laravel.test php artisan test
CI (GitHub Actions) runs on every push/PR:
--test)config:cache / route:cache / view:cacheStock · Purchase · Sale · Profit & Loss — each report page supports filtering (date range, warehouse, category), and exports (xlsx via maatwebsite/excel, PDF via barryvdh/laravel-dompdf) honor the active filters.
app/Filament/Resources/** — one directory per resource (Pages, Schemas, Tables)app/Reports/** — extracted query modules backing each report + its exports (exports are thin adapters)app/Observers/** — stock ledger automation: PurchaseItemObserver, SaleItemObserver, StockAdjustmentObserverapp/Filament/Pages/*Report.php — report pages composing the query modulesInventoryDemoSeeder seeds categories (parent/child), units, suppliers, customers, warehouses, products, purchases, sales and adjustments so every screen has data.