##### Setting Up DeltaPOS on Local Machine

###### 1. System Requirements

PHP Version | PHP 8.2 or higher
Required Extensions | BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, cURL, Fileinfo, GD
Database | MySQL 5.7+ or MariaDB 10.3+

###### 2. Local Development Environment Setup

###### Option 1: XAMPP Setup

1. Download XAMPP with PHP 8.2 or higher from apachefriends.org
2. Install XAMPP following the installation wizard
3. Start Apache and MySQL services from XAMPP Control Panel
4. Extract DeltaPOS files to `C:\xampp\htdocs\deltapos`
5. Access your application at `http://localhost/deltapos/public`

###### Option 2: Laragon Setup Recommended

1. Download Laragon from laragon.org
2. Install Laragon and select PHP 8.2 or higher during installation
3. Start Laragon and ensure all services are running
4. Extract DeltaPOS files to `C:\laragon\www\deltapos`
5. Access your application at `http://localhost/deltapos/public`
6. else Access your application at `http://deltapos.test` (Laragon creates virtual hosts automatically)

###### 3. Database Setup using phpMyAdmin

###### XAMPP phpMyAdmin Access

1. Start Apache and MySQL in XAMPP Control Panel
2. Access phpMyAdmin at `http://localhost/phpmyadmin`
3. Default credentials:
   - Username: `root`
   - Password: `(leave blank)`

###### Laragon phpMyAdmin Access Recommended

1. Start Laragon
2. Click on "Database" button in Laragon or visit `http://localhost/phpmyadmin`
3. Default credentials:
   - Username: `root`
   - Password: `(leave blank)`

###### Creating Database Steps:

1. Login to phpMyAdmin
2. Click "New" in the left sidebar
3. Enter database name (e.g., `deltapos`)
4. Select "Collation" as `utf8mb4_unicode_ci`
5. Click "Create" button

###### 4. OPcache Configuration

Enable OPcache to improve PHP performance by following these steps:

###### 1. Enable OPcache in php.ini

Add or update these settings in your php.ini file:

    zend_extension=opcache.so
    opcache.enable=1
    opcache.memory_consumption=128
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60

###### 2. Location of php.ini:

- XAMPP: `C:\xampp\php\php.ini`
- Laragon: `C:\laragon\bin\php\php-8.x\php.ini`

###### OPcache Settings Explained:

- `opcache.enable=1`: Enables OPcache
- `opcache.memory_consumption=128`: Memory allocation for OPcache in MB
- `opcache.max_accelerated_files=4000`: Maximum number of files that can be cached
- `opcache.revalidate_freq=60`: How often to check file timestamps for changes (in seconds)

###### 5. Directory Permissions

Set the following directory permissions:

    chmod -R 775 bootstrap/cache
    chmod -R 775 storage/framework
    chmod -R 775 storage/logs

For Windows, ensure these directories are writable by your web server.

###### 6. Troubleshooting

Issue | Solution
--- | ---
500 Server Error | Check storage directory permissions and .env file configuration
Composer Memory Limit | Run: `COMPOSER_MEMORY_LIMIT=-1 composer install`
Database Connection Error | Verify database credentials in .env file and ensure MySQL service is running

Development URL: After setup, your application will be available at:

- XAMPP: `http://localhost/deltapos`
- Laragon: `http://deltapos.test`