+ با حساب MyTrip خود وارد شوید
+diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php
index 4fcf5cf..6c3d746 100644
--- a/app/Http/Controllers/Auth/LoginController.php
+++ b/app/Http/Controllers/Auth/LoginController.php
@@ -9,11 +9,12 @@ class LoginController extends Controller
{
public function index()
{
-
+ return view('auth.login');
+
}
public function post()
{
-
+
}
}
diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index 1d6906b..884ca9f 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -9,7 +9,7 @@ class RegisterController extends Controller
{
public function index()
{
-
+return view('auth.register');
}
public function post()
diff --git a/app/Models/User.php b/app/Models/User.php
index 11aea90..d3c7d74 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -10,10 +10,11 @@ use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
+use Illuminate\Foundation\Auth\User as Authenticated ;
/**
* Class User
- *
+ *
* @property int $id
* @property string $first_name
* @property string $last_name
@@ -33,13 +34,13 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property Carbon $created_at
* @property Carbon $updatet_at
* @property string $deleted_at
- *
+ *
* @property File|null $file
* @property Collection|Comment[] $comments
*
* @package App\Models
*/
-class User extends Model
+class User extends Authenticated
{
use SoftDeletes;
protected $table = 'users';
diff --git a/bootstrap/app.php b/bootstrap/app.php
index 6d466e4..62d3729 100644
--- a/bootstrap/app.php
+++ b/bootstrap/app.php
@@ -14,7 +14,9 @@ return Application::configure(basePath: dirname(__DIR__))
health: '/up',
)
->withMiddleware(function (Middleware $middleware): void {
- //
+
+ $middleware->redirectGuestsTo(fn(Illuminate\Http\Request $request) => route('auth.login.index'));
+ $middleware->redirectUsersTo(fn(Illuminate\Http\Request $request) => route('index'));
})
->withExceptions(function (Exceptions $exceptions): void {
//
diff --git a/config/auth.php b/config/auth.php
index d7568ff..3a06e62 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -64,7 +64,7 @@ return [
'providers' => [
'users' => [
'driver' => 'eloquent',
- 'model' => env('AUTH_MODEL', User::class),
+ 'model' => User::class,
],
// 'users' => [
diff --git a/database/airlinedatabase/airline-agency.sql b/database/airlinedatabase/airline-agency.sql
new file mode 100644
index 0000000..9d71759
--- /dev/null
+++ b/database/airlinedatabase/airline-agency.sql
@@ -0,0 +1,291 @@
+-- phpMyAdmin SQL Dump
+-- version 5.2.3
+-- https://www.phpmyadmin.net/
+--
+-- Host: 127.0.0.1:3306
+-- Generation Time: Aug 15, 2026 at 12:25 PM
+-- Server version: 8.4.7
+-- PHP Version: 8.3.28
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+START TRANSACTION;
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- Database: `airline-agency`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `airlines`
+--
+
+DROP TABLE IF EXISTS `airlines`;
+CREATE TABLE IF NOT EXISTS `airlines` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `code` varchar(20) COLLATE utf32_persian_ci NOT NULL,
+ `file_id` bigint UNSIGNED NOT NULL,
+ `status` tinyint NOT NULL COMMENT '0:disable|1:enable',
+ `created_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `airports`
+--
+
+DROP TABLE IF EXISTS `airports`;
+CREATE TABLE IF NOT EXISTS `airports` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `city` varchar(255) COLLATE utf32_persian_ci NOT NULL,
+ `code` varchar(10) COLLATE utf32_persian_ci NOT NULL,
+ `country` varchar(255) COLLATE utf32_persian_ci NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `bookings`
+--
+
+DROP TABLE IF EXISTS `bookings`;
+CREATE TABLE IF NOT EXISTS `bookings` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `user_id` bigint UNSIGNED NOT NULL,
+ `flight_id` bigint UNSIGNED NOT NULL,
+ `tour_date_id` bigint UNSIGNED NOT NULL,
+ `adult_count` int UNSIGNED NOT NULL,
+ `child_count` int UNSIGNED NOT NULL,
+ `total_price` int UNSIGNED NOT NULL,
+ `tracking_code` varchar(50) COLLATE utf32_persian_ci NOT NULL,
+ `created_at` timestamp NOT NULL,
+ `status` tinyint NOT NULL COMMENT '0 = pending\r\n1 = confirmed\r\n2 = cancelled',
+ `updated_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `bookings_fk1` (`user_id`),
+ KEY `bookings_fk2` (`flight_id`),
+ KEY `bookings_fk3` (`tour_date_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `booking_passengers`
+--
+
+DROP TABLE IF EXISTS `booking_passengers`;
+CREATE TABLE IF NOT EXISTS `booking_passengers` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `booking_id` bigint UNSIGNED NOT NULL,
+ `first_name` varchar(100) COLLATE utf32_persian_ci NOT NULL,
+ `last_name` varchar(100) COLLATE utf32_persian_ci NOT NULL,
+ `national_code` varchar(20) COLLATE utf32_persian_ci NOT NULL,
+ `passenger_type` tinyint NOT NULL COMMENT '0 = child\r\n1 = adult',
+ `birth_date` date NOT NULL,
+ `created_at` timestamp NOT NULL,
+ `updated_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `comments`
+--
+
+DROP TABLE IF EXISTS `comments`;
+CREATE TABLE IF NOT EXISTS `comments` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `user_id` bigint UNSIGNED NOT NULL,
+ `comment` text COLLATE utf32_persian_ci NOT NULL,
+ `status` tinyint NOT NULL COMMENT '0:pending|1:approaved |2:rejected',
+ `created_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `comment_fk1` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `files`
+--
+
+DROP TABLE IF EXISTS `files`;
+CREATE TABLE IF NOT EXISTS `files` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` varchar(200) COLLATE utf32_persian_ci NOT NULL,
+ `extension` varchar(10) COLLATE utf32_persian_ci NOT NULL,
+ `size` bigint UNSIGNED NOT NULL COMMENT 'bytes',
+ `original_name` varchar(350) COLLATE utf32_persian_ci NOT NULL,
+ `path` varchar(30) COLLATE utf32_persian_ci NOT NULL,
+ `created_at` timestamp NOT NULL,
+ `updated_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `flights`
+--
+
+DROP TABLE IF EXISTS `flights`;
+CREATE TABLE IF NOT EXISTS `flights` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `title` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `summary` varchar(512) COLLATE utf32_persian_ci NOT NULL,
+ `arrival_aiport_id` bigint UNSIGNED NOT NULL,
+ `file_id` bigint UNSIGNED NOT NULL,
+ `flight_type` tinyint NOT NULL COMMENT '0:departure|1:return|2:roundtrip',
+ `departure_time` int NOT NULL,
+ `price` decimal(10,0) NOT NULL,
+ `deprature_airport_id` bigint UNSIGNED NOT NULL,
+ `destination` varchar(255) COLLATE utf32_persian_ci NOT NULL,
+ `airline_id` bigint UNSIGNED NOT NULL,
+ `capacity` int UNSIGNED NOT NULL,
+ `status` tinyint NOT NULL COMMENT '0:disable |1:enable',
+ `created_at` timestamp NOT NULL,
+ `updated_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `flights_fk1` (`airline_id`),
+ KEY `flights_fk2` (`file_id`),
+ KEY `flights_fk3` (`arrival_aiport_id`),
+ KEY `flights_fk4` (`deprature_airport_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tours`
+--
+
+DROP TABLE IF EXISTS `tours`;
+CREATE TABLE IF NOT EXISTS `tours` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `title` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `summary` varchar(512) COLLATE utf32_persian_ci NOT NULL,
+ `descriptions` text COLLATE utf32_persian_ci NOT NULL,
+ `file_id` bigint UNSIGNED NOT NULL,
+ `origin` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `destination` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `duration` int UNSIGNED NOT NULL,
+ `status` tinyint NOT NULL COMMENT '0:enable|1:disable',
+ `created_at` timestamp NOT NULL,
+ `updated_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `tours_fk1` (`file_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tour_dates`
+--
+
+DROP TABLE IF EXISTS `tour_dates`;
+CREATE TABLE IF NOT EXISTS `tour_dates` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `tour_id` bigint UNSIGNED NOT NULL,
+ `start_date` date NOT NULL,
+ `end_date` date NOT NULL,
+ `price` int UNSIGNED NOT NULL,
+ `capacity` int UNSIGNED NOT NULL,
+ `status` tinyint NOT NULL COMMENT '0:disable |1:enable',
+ `created_at` timestamp NOT NULL,
+ `updated_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `tours_dates_fk1` (`tour_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `users`
+--
+
+DROP TABLE IF EXISTS `users`;
+CREATE TABLE IF NOT EXISTS `users` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `first_name` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `last_name` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `national_code` varchar(10) COLLATE utf32_persian_ci NOT NULL,
+ `gender` tinyint NOT NULL COMMENT '0:male | 1:female |2:unknown',
+ `marital_status` tinyint NOT NULL COMMENT '0:single |1:marrid |2:separated',
+ `spouse_name` varchar(256) COLLATE utf32_persian_ci DEFAULT NULL,
+ `mobile` varchar(11) COLLATE utf32_persian_ci NOT NULL,
+ `email` varchar(150) COLLATE utf32_persian_ci NOT NULL,
+ `image_id` bigint UNSIGNED DEFAULT NULL,
+ `username` varchar(200) COLLATE utf32_persian_ci NOT NULL,
+ `password` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `password_confirmation` varchar(250) COLLATE utf32_persian_ci NOT NULL,
+ `user_province` varchar(30) COLLATE utf32_persian_ci NOT NULL,
+ `user_city` varchar(30) COLLATE utf32_persian_ci NOT NULL,
+ `status` tinyint UNSIGNED DEFAULT NULL COMMENT '0:disable | 1:pending | 2:enable ',
+ `created_at` timestamp NOT NULL,
+ `updatet_at` timestamp NOT NULL,
+ `deleted_at` timestamp NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `user_img_fk` (`image_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci;
+
+--
+-- Constraints for dumped tables
+--
+
+--
+-- Constraints for table `bookings`
+--
+ALTER TABLE `bookings`
+ ADD CONSTRAINT `bookings_fk1` FOREIGN KEY (`user_id`) REFERENCES `bookings` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+ ADD CONSTRAINT `bookings_fk2` FOREIGN KEY (`flight_id`) REFERENCES `flights` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+ ADD CONSTRAINT `bookings_fk3` FOREIGN KEY (`tour_date_id`) REFERENCES `tour_dates` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
+
+--
+-- Constraints for table `comments`
+--
+ALTER TABLE `comments`
+ ADD CONSTRAINT `comment_fk1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
+
+--
+-- Constraints for table `flights`
+--
+ALTER TABLE `flights`
+ ADD CONSTRAINT `flights_fk1` FOREIGN KEY (`airline_id`) REFERENCES `airlines` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+ ADD CONSTRAINT `flights_fk2` FOREIGN KEY (`file_id`) REFERENCES `files` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+ ADD CONSTRAINT `flights_fk3` FOREIGN KEY (`arrival_aiport_id`) REFERENCES `airports` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
+ ADD CONSTRAINT `flights_fk4` FOREIGN KEY (`deprature_airport_id`) REFERENCES `airports` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
+
+--
+-- Constraints for table `tours`
+--
+ALTER TABLE `tours`
+ ADD CONSTRAINT `tours_fk1` FOREIGN KEY (`file_id`) REFERENCES `files` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
+
+--
+-- Constraints for table `tour_dates`
+--
+ALTER TABLE `tour_dates`
+ ADD CONSTRAINT `tours_dates_fk1` FOREIGN KEY (`tour_id`) REFERENCES `tours` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
+
+--
+-- Constraints for table `users`
+--
+ALTER TABLE `users`
+ ADD CONSTRAINT `user_img_fk` FOREIGN KEY (`image_id`) REFERENCES `files` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
+COMMIT;
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php
new file mode 100644
index 0000000..effab5d
--- /dev/null
+++ b/resources/views/auth/login.blade.php
@@ -0,0 +1,60 @@
+@extends('layouts.app')
+@section('content')
+ با حساب MyTrip خود وارد شوید حساب MyTrip خود را ایجاد کنید
+
+