A Laravel-based Inventory Management System for managing products, inventory, sales, purchases, roles, and permissions. This project provides a robust backend API and a simple web interface for inventory operations.
- Product management
- Inventory tracking
- Sales and purchase records
- User authentication
- User authorization using Spatie Role/Permissions
- Export Inventory with Filters as Excel Sheet (Laravel Excel)
- Email Address Verification (Laravel Auth)
- Phone Number verificartion (Textbelt)
- AWS S3 for Cloud Storage (supabase)
- Role and permission management
- Orion/API endpoints
- Localization support (ar, en)
- PHP >= 8.1
- Composer
- Node.js & npm (for frontend assets)
- SQLite (default), MySQL, or PostgreSQL
- Clone the repository:
git clone https://github.com/aminazeb/Inventory-Management-System.git cd inventory - Install PHP dependencies:
composer install
- Install Node dependencies:
npm install
- Copy and configure environment:
cp .env.example .env # Edit .env as needed - Generate application key:
php artisan key:generate
- Run migrations and seeders:
php artisan migrate --seed
- Build frontend assets:
npm run build
- Start the development server:
php artisan serve
php-cs-fixer fix app
- Access the web interface at
http://localhost:8000. - API endpoints are available under
/apiand/orion. - Authentication is required for all endpoints.
- Email verification is required for some endpoints.
- Mailtrap for testing mails
- Run tests with:
php artisan testapp/Models/— Eloquent modelsapp/Http/Controllers/— API and web controllersdatabase/migrations/— Database schemadatabase/seeders/— Seed dataresources/views/— Blade templatesroutes/— Route definitions
N/A