A comprehensive web-based store management system built with Laravel 12 and Livewire 4. It provides complete solutions for sales, inventory management, purchases, customers, suppliers, warehouses, cashboxes, expenses, employee management, reporting, and more.
- Point of Sale (POS) - Fast and intuitive sales interface with cart management
- Product Management - Add, edit, track products with categories, brands, images, and barcodes
- Inventory Management - Multi-warehouse stock tracking, stock movements, transfers, and adjustments
- Purchase Management - Purchase invoices, supplier management, and purchase tracking
- Sales Management - Sales records, invoices, and detailed reporting
- Customer Management - Customer profiles, roles, accounts, points, and transaction history
- Supplier Management - Supplier information and purchase history
- Warehouse Management - Manage multiple warehouses with stock levels per location
- Cashbox Management - Track cash transactions and balances
- Expense Management - Record and categorize business expenses
- Employee Management - Attendance, payroll, and employee records
- Reporting & Analytics - Sales reports, financial reports, and business insights
- User & Role Management - Role-based access control with permissions
- Online Orders - Integration with online shop API
- Messaging System - Internal messaging between users
- Todos & Alerts - Task management and system alerts
- Multi-language Support - Persian (fa) and English (en) translations
- Barcode Generation - Product barcode and QR code generation
Before you begin, ensure you have the following installed on your system:
- PHP >= 8.2
- Composer >= 2.x
- Node.js >= 18.x or 20.x
- NPM or Yarn
- MySQL 8.0+ or SQLite
- Redis (optional but recommended for queues/cache)
You can install this project using the automated setup scripts or manually. The Laravel application is located in the laravel-app/ directory.
chmod +x setup-linux.sh
./setup-linux.shDouble-click setup-windows.bat or run it from Command Prompt.
The setup script will:
- Check for Composer and Node.js
- Install PHP dependencies (
composer install) - Copy
.env.exampleto.env - Generate application key
- Install Node.js dependencies (
npm install)
# Navigate to Laravel app directory
cd laravel-app
# Install PHP dependencies
composer install
# Copy environment file
cp .env.example .env
# Generate application key
php artisan key:generate
# Install Node.js dependencies
npm install
# Build assets
npm run build- Open
laravel-app/.envand configure your database settings:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password- (Optional) Configure Redis for queue/cache:
QUEUE_CONNECTION=redis
CACHE_STORE=redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379- (Optional) Configure online shop integration if needed:
ONLINE_SHOP_URL=
ONLINE_SHOP_TOKEN=
ONLINE_SHOP_CITY=After configuring your database, run migrations. You can choose to start with an empty database or seed it with sample data.
cd laravel-app
php artisan migratecd laravel-app
php artisan migrate:fresh --seedIf you seed the database, you'll get a default admin user to log in.
For development, you can run the server and Vite dev server concurrently:
cd laravel-app
composer run devThis will start:
- Laravel development server (
php artisan serve) - Queue worker (
php artisan queue:listen) - Log viewer (
php artisan pail) - Vite dev server (
npm run dev)
Or run them separately:
# Terminal 1: Laravel server
php artisan serve
# Terminal 2: Vite dev server
npm run dev
# Terminal 3: Queue worker (if needed)
php artisan queue:workcd laravel-app
npm run build
php artisan config:cache
php artisan route:cache
php artisan view:cacheThen serve using your web server (Apache, Nginx) pointing to laravel-app/public/.
.
├── laravel-app/ # Main Laravel application
│ ├── app/
│ │ ├── Http/ # Controllers, Middleware
│ │ ├── Livewire/ # Livewire components (UI)
│ │ ├── Models/ # Eloquent models
│ │ ├── Services/ # Business logic
│ │ └── Helpers/ # Helper functions
│ ├── database/
│ │ ├── migrations/ # Database migrations
│ │ ├── seeders/ # Database seeders
│ │ └── factories/ # Model factories
│ ├── resources/
│ │ ├── views/ # Blade templates
│ │ ├── js/ # JavaScript files
│ │ └── css/ # CSS files
│ ├── routes/ # Application routes
│ └── lang/ # Translation files (fa, en)
├── setup-linux.sh # Linux/macOS setup script
├── setup-windows.bat # Windows setup script
├── README.md # English documentation
└── README.fa.md # Persian documentation
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open-sourced software licensed under the MIT license.