# Travel System (Laravel 11) Graduation project built with **Laravel 11**: a travel website with a public-facing site, user accounts, bookings, and an admin panel to manage content and settings. ## Features - Public pages: home, about, contact, FAQ, team, blog, destinations, packages - User flow: registration + email verification, login, password reset - User area: dashboard, bookings + invoices, wishlist, reviews, messages - Admin panel (`/admin/login`): manage sliders, features, counters, testimonials, team members, FAQ, blog categories/posts, destinations (photos/videos), packages (amenities/itineraries/photos/videos/FAQs), tours + bookings + invoices, reviews, users, subscribers (email send), terms/privacy, site settings - Payments: **Stripe** (test) + **PayPal** (sandbox) - Email: SMTP (commonly tested with **Mailtrap**) ## Tech Stack - PHP `^8.2`, Laravel `^11.9` - Vite (frontend build) - DB: SQLite (default in `.env.example`) or MySQL ## Local Setup ### 1) Install dependencies ```bash composer install npm install ``` ### 2) Configure environment ```bash cp .env.example .env php artisan key:generate ``` Update `.env` for your database and any integrations (Mail/Stripe/PayPal). ### 3) Database **Option — MySQL (with sample data dump)** This repo includes a MySQL dump at `DB/Travel_system.sql` (schema + data). Create a database, import the dump, then set: - `DB_CONNECTION=mysql` - `DB_HOST`, `DB_PORT`, `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD` ### 4) Seed (optional) By default, `database/seeders/DatabaseSeeder.php` runs `SettingSeeder`. To create an admin account for local testing, run: ```bash php artisan db:seed --class=AdminSeeder ``` Local admin credentials (change after first login): - Email: `admin@gmail.com` - Password: `1234` ### 5) Storage symlink (uploads) ```bash php artisan storage:link ``` ### 6) Build assets + run ```bash npm run dev php artisan serve ``` Open the app: - Site: `http://127.0.0.1:8000` - Admin: `http://127.0.0.1:8000/admin/login` ## Configuration Notes ### Mail (Mailtrap) Set `.env` mail variables (`MAIL_MAILER=smtp`, `MAIL_HOST`, `MAIL_PORT`, `MAIL_USERNAME`, `MAIL_PASSWORD`, `MAIL_ENCRYPTION`). ### Stripe (test mode) Set: - `STRIPE_TEST_PK` - `STRIPE_TEST_SK` Used by `config/stripe.php`. ### PayPal (sandbox) Set: - `PAYPAL_MODE=sandbox` - `PAYPAL_SANDBOX_CLIENT_ID` - `PAYPAL_SANDBOX_CLIENT_SECRET` Used by `config/paypal.php`.