# Travel AI Automation — Consolidated Deployment

## Important
This ZIP contains the consolidated application source for Modules 1–12.
It is designed for a Laravel 12 / PHP 8.2+ server.

A completely dependency-free "upload and instantly run" Laravel ZIP cannot be produced
here because Laravel and Google API vendor packages must be installed by Composer,
and the hosting server must provide PHP extensions and FFmpeg. The ZIP therefore
includes `composer.json` and the complete source; on hosting run `composer install`
(or deploy the vendor directory from a compatible build environment).

## Quick deployment
1. Upload/extract this folder.
2. Point the domain/subdomain document root to `public/`.
3. Create MySQL database.
4. Import `database/travel_ai.sql`.
5. Copy `.env.example` to `.env` and set DB/API values and the real APP_URL.
6. Run `php artisan key:generate` if you replace the generated APP_KEY.
7. Run `composer install --no-dev --optimize-autoloader`.
8. Run `php artisan storage:link`.
9. Ensure `storage/` and `bootstrap/cache/` are writable.
10. Configure a queue worker for `QUEUE_CONNECTION=database`.
11. Configure the Laravel scheduler to run `php artisan schedule:run` every minute.
12. Install FFmpeg/FFprobe on the server and make sure the configured binaries are executable.

## First checks
- `/` should show the dashboard.
- `/automation` shows the master automation dashboard.
- `/automation/settings` controls the automation.
- `/approval` is the human approval gate.
- `/channels` starts YouTube connection.

## Security
This consolidated package leaves the dashboard routes accessible so the initial site can
open without a missing login route. Before exposing an administrative installation to
the public internet, add Laravel authentication/authorization and protect all admin
routes. Keep YouTube upload privacy private and human approval enabled initially.

## Media
Create scene assets under `storage/app/public/visuals/scenes/{scene_id}/`.
Use licensed/authorized media or your own/AI-generated assets.

## APIs
Fill OpenAI, ElevenLabs, Bing (optional), and YouTube OAuth credentials in `.env`.
YouTube OAuth redirect URI must exactly match the Google Cloud configuration.

## No-error expectation
The application source and database schema have been consolidated and known
cross-module schema issues were corrected. Runtime compatibility still depends on
your hosting PHP version/extensions, Composer installation, FFmpeg availability,
file permissions, MySQL version, and valid API credentials; therefore no software
vendor can honestly guarantee zero errors before those environment variables and
server dependencies are tested.
