Deployment Guide
This section covers local setup and production deployment. Use it as operational reference after reading the Collaborator Guide.
Table of Contents
- TOC
Overview
The system can be deployed in several configurations:
- Development - Dev Container with SQLite and local services.
- Production - Windows Server with Apache and MariaDB.
- Testing - Isolated test databases through the Laravel test runner.
Quick Start (Development)
git clone https://github.com/metanull/inventory-app.git
cd inventory-app
composer install
npm install
cp .env.example .env
php artisan key:generate
composer dev
This starts the Laravel server, asset watcher, and queue worker. Access the main back-office at http://localhost:8000/admin.
Architecture Overview
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web Server │ │ Laravel │ │ Database │
│ (Apache/Nginx) │◄──►│ Application │◄──►│ (MariaDB) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
Static Assets Business Logic
CSS/JS Filament /admin back-office
Uploaded Images REST API (/api routes)
Authentication & Permissions
The Filament /admin panel is the primary production UI. The Vue.js SPA demo exists as a reference for external API consumers and is not part of the core deployment.
Security
- Token-based API authentication (Laravel Sanctum)
- Role-based access control (Spatie Permissions)
- HTTPS, CSRF protection, and security headers
- Input validation on all endpoints
- SQL injection prevention via Eloquent ORM
Next Steps
- Development Setup - Set up a local environment
- Production Deployment - Deploy to a Windows Server
- Configuration - Environment and application settings
- Server Configuration - Apache/Nginx setup
- Trusted Proxy Configuration - Reverse proxy support
- Command Line User Management - Manage users via CLI
- CORS Configuration - Cross-origin request settings
- Testing Troubleshooting - Common testing issues