Warning
This project is currently in progress and may not be feature complete.
A modern web application especializing in operations management for Optical Stores and similar businesses. Built with Laravel and React.
- Multi-Workspace Management: - Separate business contexts with role-based access
- Product Catalog - Complete product management with pricing and stock tracking
- Inventory Management - Real-time stock tracking, movements, and transfers between workspaces
- Contact Management - Comprehensive customer and supplier directory
- Tax Management - Flexible tax rates and calculations
- Quotations - Create and manage quotations with conversion to invoices
- Invoicing - Complete invoicing system with PDF generation
- Multi-Tenancy - Full tenant isolation using Laravel Tenancy
- Laravel 12 with PHP 8.3+.
- React 19 and Inertia.js v2+.
- SQLite database.
- Tailwind for styiling.
- Modern PHP tooling such as Laravel Pint, PHPStan, Rector...
- Testing with Pest V4
- PHP 8.3+
- Node.js 20+
- Composer
- Laravel Herd (recommended) or any local development environment
- Clone the repository:
git clone <https://github.com/luisscruza/optiflow/> cd optiflow- Install dependencies:
composer install npm install- Set up environment:
cp .env.example .env php artisan key:generate- Run migrations and seed data:
php artisan migrate- You may run the DGII data sync with:
php artisan sync:dgii- Tenant aware: https://tenant.optiflow.test (You first may create a Tenant within the central application)
- Admin Panel: https://optiflow.test/admin (Central application)
# Code quality composer run lint # Laravel Pint formatting composer run test # Run all tests composer run refactor # Rector refactoring # Testing composer run @test:unit # You may run the entire test suite... composer run testThe application uses Laravel Tenancy for complete tenant isolation:
For more information regarding Laravel Tenancy, visit the docs https://tenancyforlaravel.com/
- Follow the existing code style (Laravel Pint handles formatting)
- Write comprehensive tests using Pest
- Use type declarations and PHPDoc blocks
- Follow the established Action pattern for business logic
- Ensure all new features are workspace-scoped
This project is proprietary software. All rights reserved.
Built with ❤️ by Luis Cruz