Corpen is a Laravel 11 + Livewire 3 enterprise management platform built for cooperative organizations in Colombia. This guide walks you through installing Corpen from scratch — whether you are setting up a production server, a staging environment, or a local development machine.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/corpentunida-org/corpen/llms.txt
Use this file to discover all available pages before exploring further.
System Requirements
Before you begin, confirm your environment meets the following minimums:PHP 8.2+
Required extensions:
pdo_mysql, gd, zip, bcmath, openssl. The Docker image uses php:8.4-apache with all extensions pre-installed.Composer 2
Corpen’s dependency tree includes Laravel 11, Livewire 3, Spatie Permission, Maatwebsite Excel, and Google Cloud Storage SDK.
Node.js 18+
Required to compile front-end assets with Vite. The Dockerfile pins Node 18 via
nvm.MySQL 8 / MariaDB 10.6+
Corpen uses over 60 migration files covering insurance, credits, archive management, reservations, and more.
Redis is optional but recommended for production cache and session drivers. The default
CACHE_STORE and SESSION_DRIVER are both database, so Corpen works out of the box without Redis.Installation
- Production
- Development
- Docker Compose
Edit
.env with your database credentials and application URL before continuing. See Environment Configuration for all variables.The
--no-dev flag excludes packages like laravel/sail, laravel/pint, and phpunit/phpunit that are not needed in production.Corpen ships 60+ migration files that create all domain tables — insurance policies (
seg_polizas), credits (cre_creditos), archive management (gdo_empleados), reservations (res_reservas), workflows, and more.This links
public/storage → storage/app/public, which is required for uploaded documents and profile photos to be publicly accessible.Queue Worker
Corpen uses Laravel queues for background jobs including Excel exports (maatwebsite/excel) and PDF generation (barryvdh/laravel-dompdf). The default QUEUE_CONNECTION is database, which uses the jobs table created by the 0001_01_01_000002_create_jobs_table.php migration.
Start a persistent queue worker with:
If
QUEUE_CONNECTION=sync, all jobs run synchronously in the request cycle. This is convenient for local development but will cause timeouts on large Excel exports in production.Post-Installation Checklist
| Step | Command | Required |
|---|---|---|
| Generate app key | php artisan key:generate | ✅ Always |
| Run migrations | php artisan migrate | ✅ Always |
| Create storage link | php artisan storage:link | ✅ Always |
| Seed roles | php artisan db:seed --class=RoleSeeder | Recommended |
| Build assets | npm run build | ✅ Production |
| Cache config | php artisan optimize | ✅ Production |
| Cache views | php artisan view:cache | ✅ Production |
| Start queue worker | php artisan queue:work | ✅ Production |