To manage and process candidate resumes, JobMatch integrates Laravel Cloud Storage with an S3-compatible bucket.
Uploaded resumes are securely stored and later processed by the OpenAI API to extract relevant information for job matching.
These packages enable Laravel to communicate with AWS-style cloud storage:
composer require aws/aws-sdk-php
composer require league/flysystem-aws-s3-v3Laravel normally uses these variables by default:
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=falseIn JobMatch, I renamed and extended them for better clarity and flexibility 👇
LARAVEL_CLOUD_ACCESS_KEY_ID=
LARAVEL_CLOUD_SECRET_ACCESS_KEY=
LARAVEL_CLOUD_DEFAULT_REGION=us-east-1
LARAVEL_CLOUD_BUCKET=
LARAVEL_CLOUD_ENDPOINT=
LARAVEL_CLOUD_URL=
LARAVEL_CLOUD_USE_PATH_STYLE_ENDPOINT=false💡 Tip:
The extra variablesLARAVEL_CLOUD_ENDPOINTandLARAVEL_CLOUD_URLmake it easy to use custom S3-compatible services such as DigitalOcean Spaces, Wasabi, or MinIO.
I also renamed the default 's3' disk to 'cloud' and updated the keys accordingly:
'disks' => [
'cloud' => [
'driver' => 's3',
'key' => env('LARAVEL_CLOUD_ACCESS_KEY_ID'),
'secret' => env('LARAVEL_CLOUD_SECRET_ACCESS_KEY'),
'region' => env('LARAVEL_CLOUD_DEFAULT_REGION'),
'bucket' => env('LARAVEL_CLOUD_BUCKET'),
'endpoint' => env('LARAVEL_CLOUD_ENDPOINT'),
'url' => env('LARAVEL_CLOUD_URL'),
'use_path_style_endpoint' => env('LARAVEL_CLOUD_USE_PATH_STYLE_ENDPOINT', false),
],
],- When a user uploads a resume, it’s stored in the configured cloud storage.
- Laravel’s filesystem handles the file upload and secure storage.
- The stored resume file is then fetched by the OpenAI API for parsing, keyword extraction, and smart job matching.
- Results are displayed directly in the JobMatch dashboard.
- Uploaded files are stored using secure, signed URLs.
- Only authenticated users and server processes can access resumes.
.envcredentials should never be committed to version control.
| Feature | Description |
|---|---|
| Storage Driver | Laravel Cloud (S3-compatible) |
| Packages | aws/aws-sdk-php, league/flysystem-aws-s3-v3 |
| Integration | OpenAI API for resume parsing |
| Custom Disk | cloud (renamed from s3) |
| Environment Prefix | LARAVEL_CLOUD_ |