System Requirements
Before installing ElectroFix AI, ensure your system meets these requirements:Minimum Requirements
PHP
Version: 8.2 or higher
Required Extensions:
Required Extensions:
- PDO (PHP Data Objects)
- pdo_mysql or pdo_sqlite
- mbstring
- OpenSSL
- JSON
- cURL
- XML
- Tokenizer
- Fileinfo
Database
Supported Databases:
- MySQL 5.7+ or 8.0+
- MariaDB 10.3+
- SQLite 3.8.8+ (development only)
Web Server
Development:
- Built-in PHP server (via
php artisan serve) - XAMPP/WAMP/MAMP
- Apache 2.4+ with mod_rewrite
- Nginx 1.18+
Additional Tools
- Composer 2.0+
- Git (for version control)
- Node.js 18+ (optional, for asset compilation)
ElectroFix AI uses Laravel 12 which requires PHP 8.2+. Older PHP versions are not supported.
Installation Methods
- XAMPP + MySQL
- Linux/macOS
- Docker
XAMPP Installation (Windows/macOS/Linux)
This is the recommended method for local development on Windows.Install XAMPP
- Download XAMPP from apachefriends.org
- Install with PHP 8.2+ support
- Start Apache and MySQL services from XAMPP Control Panel
Verify PHP Installation
Open a terminal/command prompt and check PHP version:Expected output:Verify required extensions:
Install Composer
- Download Composer from getcomposer.org
- Run the installer
- Verify installation:
Create MySQL Database
- Open phpMyAdmin (http://localhost/phpmyadmin)
- Click “New” to create a database
- Enter database name:
electrofix_ai - Select collation:
utf8mb4_unicode_ci - Click “Create”
Clone and Configure
Navigate to your XAMPP htdocs directory:Clone the repository:Install dependencies:
Environment Configuration
Create and configure your Edit Generate application key:
.env file:.env with your database settings:.env
The default XAMPP MySQL root password is empty. If you’ve set a password, update
DB_PASSWORD.Access the Application
Option 1: PHP Built-in ServerAccess at: http://127.0.0.1:8000Option 2: XAMPP Apache
Access at: http://localhost/ElectroFix-AI/public
For XAMPP Apache, ensure
mod_rewrite is enabled and .htaccess files are allowed.Database Configuration Options
SQLite (Quick Testing)
For rapid local development without MySQL:.env
SQLite is perfect for quick testing but not recommended for production or multi-user scenarios.
MySQL Configuration
Recommended for production-like development:.env
MariaDB Configuration
Drop-in replacement for MySQL:.env
Post-Installation Steps
1. Verify Installation
Check that all migrations ran successfully:2. Test Login
Access the application and log in with demo credentials:- Email:
admin@electrofix.ai - Password:
password123
3. Configure Application Settings
Update.env with your specific settings:
.env
4. Cache Configuration
For better performance:Seeded Demo Data
The--seed flag populates your database with:
Companies
-
ElectroFix Cliente Demo
- Owner: Carlos Mendoza
- Email: owner@cliente-demo.com
- Plan: Pro (25 users, active)
- VAT: 16%
- Currency: MXN
-
ElectroFix Developer Lab
- Owner: ElectroFix Platform Team
- Email: dev-owner@electrofix.ai
- Plan: Developer Test (999 users, active)
- VAT: 16%
- Currency: MXN
Users
| Role | Password | Company | Permissions | |
|---|---|---|---|---|
| Developer | developer@electrofix.ai | password123 | Developer Lab | Global access, all features |
| Admin | admin@electrofix.ai | password123 | Cliente Demo | Billing, Inventory, Management |
| Worker | worker@electrofix.ai | password123 | Cliente Demo | Inventory only |
Sample Data
- Customers: 10-15 demo customers with contact information
- Equipment: Various electronic devices linked to customers
- Orders: Sample repair orders in different states
- Inventory: 20-30 parts and products with stock levels
- Billing Documents: Sample invoices and receipts
Troubleshooting
Error: 'driver not found' or 'could not find driver'
Error: 'driver not found' or 'could not find driver'
Cause: Missing PHP database extension.Solution:For MySQL:For SQLite:
Error: 'Class 'DOMDocument' not found'
Error: 'Class 'DOMDocument' not found'
Cause: Missing PHP XML extension (required for PDF generation).Solution:
Error: 'file_put_contents(storage/framework/sessions): failed to open stream'
Error: 'file_put_contents(storage/framework/sessions): failed to open stream'
Cause: Insufficient permissions on storage directories.Solution:Windows:
- Right-click
storageandbootstrap/cachefolders - Properties → Security → Edit
- Give “Full Control” to your user account
Error: 'No application encryption key has been specified'
Error: 'No application encryption key has been specified'
Cause: Missing Verify
APP_KEY in .env.Solution:.env now contains:Error: 'SQLSTATE[HY000] [2002] Connection refused'
Error: 'SQLSTATE[HY000] [2002] Connection refused'
Cause: MySQL server not running or wrong connection settings.Solution:
- Check MySQL is running:
- Verify credentials:
- Check
.envsettings match your MySQL configuration.
Error: 'Specified key was too long' during migration
Error: 'Specified key was too long' during migration
Cause: Old MySQL version or wrong charset.Solution:Check MySQL version:If using MySQL 5.5-5.7, edit Then re-run migrations:
app/Providers/AppServiceProvider.php:Composer install fails with memory errors
Composer install fails with memory errors
Cause: PHP memory limit too low.Solution:
Page shows 'Whoops, looks like something went wrong' after login
Page shows 'Whoops, looks like something went wrong' after login
Cause: Various potential issues.Solution:
- Clear all caches:
- Check storage permissions:
- Enable debug mode in
.env:
- Check logs:
Production Deployment
Pre-Deployment Checklist
- Set
APP_ENV=productionin.env - Set
APP_DEBUG=falsein.env - Use strong, unique
APP_KEY - Configure proper
APP_URL - Set up MySQL/PostgreSQL (not SQLite)
- Configure mail settings (SMTP)
- Set up HTTPS/SSL certificates
- Configure file permissions (755 for directories, 644 for files)
- Enable caching:
- Set up queue workers for background jobs
- Configure backup strategy
- Set up monitoring and logging
Recommended Production Stack
- Web Server: Nginx with PHP-FPM
- Database: MySQL 8.0+ or MariaDB 10.5+
- PHP: 8.2+ with OPcache enabled
- Process Manager: Supervisor (for queue workers)
- Cache: Redis or Memcached
- CDN: For static assets
Useful Commands Reference
Next Steps
Quickstart Guide
Get up and running quickly with step-by-step instructions
Configuration
Customize ElectroFix AI for your business needs
API Documentation
Integrate with external systems and build custom features
Worker Management
Learn how to manage users, roles, and permissions
Getting Help
If you encounter issues not covered in this guide:- Check the Laravel 12 documentation
- Review application logs in
storage/logs/laravel.log - Enable debug mode and check browser console for errors
- Consult the project README for additional troubleshooting steps
Remember to disable debug mode (
APP_DEBUG=false) in production environments!