File Storage
FeedbackPulse stores uploaded files (logos, product images, feedback photos) on disk.
📂 Default: Local Storage
By default, files are stored in storage/app/public/ and served via the public/storage symlink.
FILESYSTEM_DISK=local
Storage Structure
storage/app/public/
├── logos/ # Tenant company logos
├── products/ # Product images
├── submissions/ # Feedback photo uploads
├── avatars/ # User profile pictures
└── landing/ # Landing page assets
Creating the Symlink
php artisan storage:link
This creates: public/storage → storage/app/public/
☁️ S3-Compatible Storage (Optional)
For cloud storage (AWS S3, DigitalOcean Spaces, MinIO):
FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=your_key
AWS_SECRET_ACCESS_KEY=your_secret
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=feedbackpulse-uploads
AWS_URL=https://feedbackpulse-uploads.s3.amazonaws.com
💡 When to use S3: If you have many tenants uploading photos, or if you want to serve files from a CDN for better performance.
📏 Upload Limits
Configure in your web server:
Nginx:
client_max_body_size 20M;
Apache (.htaccess):
php_value upload_max_filesize 20M
php_value post_max_size 25M
PHP (php.ini):
upload_max_filesize = 20M
post_max_size = 25M
memory_limit = 256M