# DPSVR Phase 1 Installation Guide

## Server Requirements

- PHP 8.2 or newer
- Composer
- MySQL 8+ or PostgreSQL 15+
- OpenSSL PHP extension
- PDO PHP extension
- Mbstring PHP extension
- Tokenizer PHP extension
- XML PHP extension
- Ctype PHP extension
- JSON PHP extension
- BCMath PHP extension
- Fileinfo PHP extension

## Local Development Setup

```bash
composer create-project laravel/laravel dpsvr
cd dpsvr
composer require laravel/sanctum spatie/laravel-permission spatie/laravel-activitylog
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
```

Copy this package into the Laravel application root, then run:

```bash
php artisan migrate
php artisan db:seed --class=RolePermissionSeeder
php artisan db:seed --class=FuelProductSeeder
php artisan test
```

## Recommended Production Setup

- Nginx or Apache
- PHP-FPM
- MySQL/PostgreSQL managed database
- Redis for cache and queues
- Supervisor for Laravel queues
- Daily database backup
- SSL certificate
- Object storage for attachments/photos

## Required Cron

Add the Laravel scheduler to the server cron:

```bash
* * * * * cd /var/www/dpsvr && php artisan schedule:run >> /dev/null 2>&1
```
