From 0b52638e7dad7ca3bee90cfcff843399d27dc0f3 Mon Sep 17 00:00:00 2001 From: Amirmahdi Nourkazemi Date: Thu, 25 Sep 2025 08:40:08 +0330 Subject: [PATCH] feat: add slider feature --- app/Http/Controllers/SliderController.php | 16 +++++ app/Models/Slider.php | 10 +++ .../2025_09_25_044324_create_slider_table.php | 30 ++++++++ database/seeders/SliderSeeder.php | 72 +++++++++++++++++++ routes/api.php | 6 ++ 5 files changed, 134 insertions(+) create mode 100644 app/Http/Controllers/SliderController.php create mode 100644 app/Models/Slider.php create mode 100644 database/migrations/2025_09_25_044324_create_slider_table.php create mode 100644 database/seeders/SliderSeeder.php diff --git a/app/Http/Controllers/SliderController.php b/app/Http/Controllers/SliderController.php new file mode 100644 index 0000000..5984b78 --- /dev/null +++ b/app/Http/Controllers/SliderController.php @@ -0,0 +1,16 @@ +json([ + 'data' => Slider::all() + ]); + } +} diff --git a/app/Models/Slider.php b/app/Models/Slider.php new file mode 100644 index 0000000..6fa291a --- /dev/null +++ b/app/Models/Slider.php @@ -0,0 +1,10 @@ +id(); + $table->string('title'); + $table->text('description')->nullable(); + $table->string('url')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('sliders'); + } +}; diff --git a/database/seeders/SliderSeeder.php b/database/seeders/SliderSeeder.php new file mode 100644 index 0000000..13d30b6 --- /dev/null +++ b/database/seeders/SliderSeeder.php @@ -0,0 +1,72 @@ + '💨 نفس عمیق با آرام‌لند!', + 'description' => 'تمرین تنفس‌هامون مثل یه دکمه ریست برای مغزه! هرجا خسته‌ای یا استرس داری، فقط وارد اپ شو و چند دم و بازدم عمیق با ما تمرین کن.', + 'url' => null, + ], + [ + 'title' => '✨ ساخت الگوی تنفس مخصوص خودت', + 'description' => 'می‌خوای تمرین تنفس خودتو داشته باشی؟ با آرام‌لند می‌تونی الگوی دلخواهت رو طراحی کنی و هر وقت خواستی اجراش کنی!', + 'url' => null, + ], + [ + 'title' => '🤖 مشاوره با هوش مصنوعی!', + 'description' => 'حس می‌کنی نیاز به راهنمایی داری؟ توی آرام‌لند یه مشاور هوش مصنوعی همیشه آماده‌ست تا بهت کمک کنه آروم‌تر زندگی کنی.', + 'url' => null, + ], + [ + 'title' => '💬 چت نامحدود با خرید اشتراک', + 'description' => 'دوست داری همیشه یه همدم داشته باشی؟ با خرید اشتراک، می‌تونی نامحدود با هوش مصنوعی آرام‌لند چت کنی و هر سوالی داری بپرسی!', + 'url' => null, + ], + [ + 'title' => '🎯 اضافه کردن الگوهای نامحدود', + 'description' => 'با اشتراک آرام‌لند محدودیت نداری! هرچقدر بخوای می‌تونی الگوی تمرین تنفس بسازی و برای موقعیت‌های مختلف ذخیره کنی.', + 'url' => null, + ], + [ + 'title' => '🔥 مدیتیشن؛ کلید آرامش ذهن', + 'description' => 'مدیتیشن توی آرام‌لند یعنی رهایی از استرس فقط در چند دقیقه. بذار ذهنت نفس بکشه و آرامش رو تجربه کن.', + 'url' => null, + ], + [ + 'title' => '📦 جعبه نگرانی؛ پرتاب استرس بیرون!', + 'description' => 'نگرانی‌هاتو توی جعبه خیالی آرام‌لند بریز و ذهنتو سبک کن. یه تکنیک ساده ولی فوق‌العاده کاربردی!', + 'url' => null, + ], + [ + 'title' => '🎶 موزیک آرام‌بخش اختصاصی', + 'description' => 'آرام‌لند برات پلی‌لیستای مخصوص حال خوب آماده کرده. فقط پلی کن و بذار موزیک ذهنتو ماساژ بده.', + 'url' => null, + ], + [ + 'title' => '🚀 تمرین ۵ دقیقه‌ای شکرگزاری', + 'description' => 'هر روز فقط ۵ دقیقه! سه چیز خوب زندگیتو یادداشت کن و ببین چطور حس و حال مثبتت چند برابر میشه.', + 'url' => null, + ], + [ + 'title' => '🌙 خواب راحت با آرام‌لند', + 'description' => 'با تمرینات تنفس قبل خواب، راحت‌تر می‌خوابی و صبح سرحال‌تر بیدار می‌شی. خواب شیرین یعنی زندگی شیرین!', + 'url' => null, + ], + ]; + + foreach ($sliders as $slider) { + Slider::create($slider); + } + } +} diff --git a/routes/api.php b/routes/api.php index a9deeb7..b979086 100644 --- a/routes/api.php +++ b/routes/api.php @@ -11,6 +11,7 @@ use App\Http\Controllers\WorryController; use Illuminate\Support\Facades\Hash; use App\Http\Controllers\QuestionController; +use App\Http\Controllers\SliderController; Route::get('/test-hash', function() { $plain = 'amnk1380'; @@ -102,4 +103,9 @@ Route::put('/questions/{question}', [QuestionController::class, 'update']); Route::delete('/questions/{question}', [QuestionController::class, 'destroy']); + + /// slider feature + + Route::get('/slider', [SliderController::class, 'index']); + }); \ No newline at end of file