Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Laravel 13 + Filament 5 inventory management: stock ledger via observers, purchases/sales repeaters, adjustments, dashboard & filter-aware Excel/PDF reports. Docker one-command.
Translation pending
BusinessPHP · BladeGitHub @katsugtgzOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.